diff options
-rw-r--r-- | app/webrtc.go | 40 | ||||
-rw-r--r-- | model/config.go | 1 | ||||
-rw-r--r-- | model/webrtc.go | 21 | ||||
-rw-r--r-- | model/webrtc_test.go | 6 |
4 files changed, 9 insertions, 59 deletions
diff --git a/app/webrtc.go b/app/webrtc.go index 28c754622..b8b0a2827 100644 --- a/app/webrtc.go +++ b/app/webrtc.go @@ -23,9 +23,8 @@ func (a *App) GetWebrtcInfoForSession(sessionId string) (*model.WebrtcInfoRespon } result := &model.WebrtcInfoResponse{ - Token: token, - GatewayUrl: *a.Config().WebrtcSettings.GatewayWebsocketUrl, - GatewayType: *a.Config().WebrtcSettings.GatewayType, + Token: token, + GatewayUrl: *a.Config().WebrtcSettings.GatewayWebsocketUrl, } if len(*a.Config().WebrtcSettings.StunURI) > 0 { @@ -49,16 +48,6 @@ func (a *App) GetWebrtcToken(sessionId string) (string, *model.AppError) { return "", model.NewAppError("WebRTC.getWebrtcToken", "api.webrtc.disabled.app_error", nil, "", http.StatusNotImplemented) } - switch strings.ToLower(*a.Config().WebrtcSettings.GatewayType) { - case "kopano-webmeetings": - return a.GetKopanoWebmeetingsWebrtcToken(sessionId) - default: - // Default to Janus. - return a.GetJanusWebrtcToken(sessionId) - } -} - -func (a *App) GetJanusWebrtcToken(sessionId string) (string, *model.AppError) { token := base64.StdEncoding.EncodeToString([]byte(sessionId)) data := make(map[string]string) @@ -76,7 +65,7 @@ func (a *App) GetJanusWebrtcToken(sessionId string) (string, *model.AppError) { defer consumeAndClose(rp) return "", model.AppErrorFromJson(rp.Body) } else { - janusResponse := model.JanusGatewayResponseFromJson(rp.Body) + janusResponse := model.GatewayResponseFromJson(rp.Body) if janusResponse.Status != "success" { return "", model.NewAppError("getWebrtcToken", "api.webrtc.register_token.app_error", nil, "", http.StatusInternalServerError) } @@ -85,29 +74,6 @@ func (a *App) GetJanusWebrtcToken(sessionId string) (string, *model.AppError) { return token, nil } -func (a *App) GetKopanoWebmeetingsWebrtcToken(sessionId string) (string, *model.AppError) { - data := make(map[string]string) - data["type"] = "Token" - data["id"] = sessionId - - rq, _ := http.NewRequest("POST", *a.Config().WebrtcSettings.GatewayAdminUrl+"/auth/tokens", strings.NewReader(model.MapToJson(data))) - rq.Header.Set("Content-Type", "application/json") - rq.Header.Set("Authorization", "Bearer "+*a.Config().WebrtcSettings.GatewayAdminSecret) - - if rp, err := utils.HttpClient(true).Do(rq); err != nil { - return "", model.NewAppError("WebRTC.Token", "model.client.connecting.app_error", nil, err.Error(), http.StatusInternalServerError) - } else if rp.StatusCode >= 300 { - defer consumeAndClose(rp) - return "", model.AppErrorFromJson(rp.Body) - } else { - kwmResponse := model.KopanoWebmeetingsResponseFromJson(rp.Body) - if kwmResponse.Value == "" { - return "", model.NewAppError("getWebrtcToken", "api.webrtc.register_token.app_error", nil, "", http.StatusInternalServerError) - } - return kwmResponse.Value, nil - } -} - func GenerateTurnPassword(username string, secret string) string { key := []byte(secret) h := hmac.New(sha1.New, key) diff --git a/model/config.go b/model/config.go index ae62626de..097a73ab3 100644 --- a/model/config.go +++ b/model/config.go @@ -474,7 +474,6 @@ type NativeAppSettings struct { type WebrtcSettings struct { Enable *bool - GatewayType *string GatewayWebsocketUrl *string GatewayAdminUrl *string GatewayAdminSecret *string diff --git a/model/webrtc.go b/model/webrtc.go index 3318128fe..fa15a4b71 100644 --- a/model/webrtc.go +++ b/model/webrtc.go @@ -11,24 +11,19 @@ import ( type WebrtcInfoResponse struct { Token string `json:"token"` GatewayUrl string `json:"gateway_url"` - GatewayType string `json:"gateway_type"` StunUri string `json:"stun_uri,omitempty"` TurnUri string `json:"turn_uri,omitempty"` TurnPassword string `json:"turn_password,omitempty"` TurnUsername string `json:"turn_username,omitempty"` } -type JanusGatewayResponse struct { +type GatewayResponse struct { Status string `json:"janus"` } -type KopanoWebmeetingsResponse struct { - Value string `json:"value"` -} - -func JanusGatewayResponseFromJson(data io.Reader) *JanusGatewayResponse { +func GatewayResponseFromJson(data io.Reader) *GatewayResponse { decoder := json.NewDecoder(data) - var o JanusGatewayResponse + var o GatewayResponse err := decoder.Decode(&o) if err == nil { return &o @@ -56,13 +51,3 @@ func WebrtcInfoResponseFromJson(data io.Reader) *WebrtcInfoResponse { return nil } } - -func KopanoWebmeetingsResponseFromJson(data io.Reader) *KopanoWebmeetingsResponse { - decoder := json.NewDecoder(data) - var o KopanoWebmeetingsResponse - err := decoder.Decode(&o) - if err == nil { - return &o - } - return nil -} diff --git a/model/webrtc_test.go b/model/webrtc_test.go index 30a92f2b1..4b8b26dc1 100644 --- a/model/webrtc_test.go +++ b/model/webrtc_test.go @@ -27,20 +27,20 @@ func TestWebrtcInfoResponseToFromJson(t *testing.T) { } } -func TestJanusGatewayResponseFromJson(t *testing.T) { +func TestGatewayResponseFromJson(t *testing.T) { if testing.Short() { t.SkipNow() } // Valid Gateway Response s1 := `{"janus": "something"}` - g1 := JanusGatewayResponseFromJson(strings.NewReader(s1)) + g1 := GatewayResponseFromJson(strings.NewReader(s1)) CheckString(t, g1.Status, "something") // Malformed JSON s2 := `{"wat"` - g2 := JanusGatewayResponseFromJson(strings.NewReader(s2)) + g2 := GatewayResponseFromJson(strings.NewReader(s2)) if g2 != nil { t.Fatal("expected nil") |