summaryrefslogtreecommitdiffstats
path: root/utils/api.go
diff options
context:
space:
mode:
authorJoram Wilander <jwawilander@gmail.com>2017-03-28 04:58:19 -0400
committerGeorge Goldberg <george@gberg.me>2017-03-28 09:58:19 +0100
commitdaca0d93f621bcb1daae149c178af0631bcd120a (patch)
tree6127936c76dbc6fd20a7377385469980e5bd72e3 /utils/api.go
parentca8b8d1245026672b1a56d256bb8ff3c8bb1bba9 (diff)
downloadchat-daca0d93f621bcb1daae149c178af0631bcd120a.tar.gz
chat-daca0d93f621bcb1daae149c178af0631bcd120a.tar.bz2
chat-daca0d93f621bcb1daae149c178af0631bcd120a.zip
Move WebSocket API to it's own package and add websocket v4 endpoint (#5881)
Diffstat (limited to 'utils/api.go')
-rw-r--r--utils/api.go24
1 files changed, 24 insertions, 0 deletions
diff --git a/utils/api.go b/utils/api.go
new file mode 100644
index 000000000..388271bd2
--- /dev/null
+++ b/utils/api.go
@@ -0,0 +1,24 @@
+// Copyright (c) 2017 Mattermost, Inc. All Rights Reserved.
+// See License.txt for license information.
+
+package utils
+
+import (
+ "net/http"
+ "strings"
+)
+
+type OriginCheckerProc func(*http.Request) bool
+
+func OriginChecker(r *http.Request) bool {
+ origin := r.Header.Get("Origin")
+ return *Cfg.ServiceSettings.AllowCorsFrom == "*" || strings.Contains(origin, *Cfg.ServiceSettings.AllowCorsFrom)
+}
+
+func GetOriginChecker(r *http.Request) OriginCheckerProc {
+ if len(*Cfg.ServiceSettings.AllowCorsFrom) > 0 {
+ return OriginChecker
+ }
+
+ return nil
+}