summaryrefslogtreecommitdiffstats
path: root/utils/api.go
diff options
context:
space:
mode:
authorChris <ccbrown112@gmail.com>2017-11-22 15:58:03 -0600
committerChristopher Speller <crspeller@gmail.com>2017-11-22 13:58:03 -0800
commit1ccf093803bcc342e25f269c40b02f83be50b341 (patch)
tree436bac9279f8f7c7eb8d75f1af22b718935478fb /utils/api.go
parent77a1dc1f2f12198881c00356a04dddef126b985d (diff)
downloadchat-1ccf093803bcc342e25f269c40b02f83be50b341.tar.gz
chat-1ccf093803bcc342e25f269c40b02f83be50b341.tar.bz2
chat-1ccf093803bcc342e25f269c40b02f83be50b341.zip
origin checker refactor (#7889)
Diffstat (limited to 'utils/api.go')
-rw-r--r--utils/api.go16
1 files changed, 6 insertions, 10 deletions
diff --git a/utils/api.go b/utils/api.go
index a96e98254..48382d1fe 100644
--- a/utils/api.go
+++ b/utils/api.go
@@ -11,14 +11,12 @@ import (
"github.com/mattermost/mattermost-server/model"
)
-type OriginCheckerProc func(*http.Request) bool
-
-func OriginChecker(r *http.Request) bool {
+func CheckOrigin(r *http.Request, allowedOrigins string) bool {
origin := r.Header.Get("Origin")
- if *Cfg.ServiceSettings.AllowCorsFrom == "*" {
+ if allowedOrigins == "*" {
return true
}
- for _, allowed := range strings.Split(*Cfg.ServiceSettings.AllowCorsFrom, " ") {
+ for _, allowed := range strings.Split(allowedOrigins, " ") {
if allowed == origin {
return true
}
@@ -26,12 +24,10 @@ func OriginChecker(r *http.Request) bool {
return false
}
-func GetOriginChecker(r *http.Request) OriginCheckerProc {
- if len(*Cfg.ServiceSettings.AllowCorsFrom) > 0 {
- return OriginChecker
+func OriginChecker(allowedOrigins string) func(*http.Request) bool {
+ return func(r *http.Request) bool {
+ return CheckOrigin(r, allowedOrigins)
}
-
- return nil
}
func RenderWebError(err *model.AppError, w http.ResponseWriter, r *http.Request) {