summaryrefslogtreecommitdiffstats
path: root/wsapi/webrtc.go
diff options
context:
space:
mode:
Diffstat (limited to 'wsapi/webrtc.go')
-rw-r--r--wsapi/webrtc.go31
1 files changed, 31 insertions, 0 deletions
diff --git a/wsapi/webrtc.go b/wsapi/webrtc.go
new file mode 100644
index 000000000..fd8eede30
--- /dev/null
+++ b/wsapi/webrtc.go
@@ -0,0 +1,31 @@
+// Copyright (c) 2017 Mattermost, Inc. All Rights Reserved.
+// See License.txt for license information.
+
+package wsapi
+
+import (
+ l4g "github.com/alecthomas/log4go"
+ "github.com/mattermost/platform/app"
+ "github.com/mattermost/platform/model"
+ "github.com/mattermost/platform/utils"
+)
+
+func InitWebrtc() {
+ l4g.Debug(utils.T("wsapi.webtrc.init.debug"))
+
+ app.Srv.WebSocketRouter.Handle("webrtc", ApiWebSocketHandler(webrtcMessage))
+}
+
+func webrtcMessage(req *model.WebSocketRequest) (map[string]interface{}, *model.AppError) {
+ var ok bool
+ var toUserId string
+ if toUserId, ok = req.Data["to_user_id"].(string); !ok || len(toUserId) != 26 {
+ return nil, NewInvalidWebSocketParamError(req.Action, "to_user_id")
+ }
+
+ event := model.NewWebSocketEvent(model.WEBSOCKET_EVENT_WEBRTC, "", "", toUserId, nil)
+ event.Data = req.Data
+ go app.Publish(event)
+
+ return nil, nil
+}