Implement GET /webrtc/token endpoint for APIv4 (#6046)
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
c7f26bb110
Коммит
74ffb6f98f
@@ -178,6 +178,7 @@ func InitApi(full bool) {
|
||||
InitWebSocket()
|
||||
InitEmoji()
|
||||
InitReaction()
|
||||
InitWebrtc()
|
||||
|
||||
app.Srv.Router.Handle("/api/v4/{anything:.*}", http.HandlerFunc(Handle404))
|
||||
|
||||
|
||||
29
api4/webrtc.go
Обычный файл
29
api4/webrtc.go
Обычный файл
@@ -0,0 +1,29 @@
|
||||
// Copyright (c) 2017 Mattermost, Inc. All Rights Reserved.
|
||||
// See License.txt for license information.
|
||||
|
||||
package api4
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
|
||||
l4g "github.com/alecthomas/log4go"
|
||||
"github.com/mattermost/platform/app"
|
||||
"github.com/mattermost/platform/utils"
|
||||
)
|
||||
|
||||
func InitWebrtc() {
|
||||
l4g.Debug(utils.T("api.webrtc.init.debug"))
|
||||
|
||||
BaseRoutes.Webrtc.Handle("/token", ApiSessionRequired(webrtcToken)).Methods("GET")
|
||||
}
|
||||
|
||||
func webrtcToken(c *Context, w http.ResponseWriter, r *http.Request) {
|
||||
result, err := app.GetWebrtcInfoForSession(c.Session.Id)
|
||||
|
||||
if err != nil {
|
||||
c.Err = err
|
||||
return
|
||||
}
|
||||
|
||||
w.Write([]byte(result.ToJson()))
|
||||
}
|
||||
29
api4/webrtc_test.go
Обычный файл
29
api4/webrtc_test.go
Обычный файл
@@ -0,0 +1,29 @@
|
||||
// Copyright (c) 2017 Mattermost, Inc. All Rights Reserved.
|
||||
// See License.txt for license information.
|
||||
|
||||
package api4
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/mattermost/platform/utils"
|
||||
)
|
||||
|
||||
func TestGetWebrtcToken(t *testing.T) {
|
||||
th := Setup().InitBasic().InitSystemAdmin()
|
||||
defer TearDown()
|
||||
Client := th.Client
|
||||
|
||||
enableWebrtc := *utils.Cfg.WebrtcSettings.Enable
|
||||
defer func() {
|
||||
*utils.Cfg.WebrtcSettings.Enable = enableWebrtc
|
||||
}()
|
||||
*utils.Cfg.WebrtcSettings.Enable = false
|
||||
|
||||
_, resp := Client.GetWebrtcToken()
|
||||
CheckNotImplementedStatus(t, resp)
|
||||
|
||||
Client.Logout()
|
||||
_, resp = Client.GetWebrtcToken()
|
||||
CheckUnauthorizedStatus(t, resp)
|
||||
}
|
||||
Ссылка в новой задаче
Block a user