diff options
author | Chris <ccbrown112@gmail.com> | 2017-11-22 15:58:03 -0600 |
---|---|---|
committer | Christopher Speller <crspeller@gmail.com> | 2017-11-22 13:58:03 -0800 |
commit | 1ccf093803bcc342e25f269c40b02f83be50b341 (patch) | |
tree | 436bac9279f8f7c7eb8d75f1af22b718935478fb /utils | |
parent | 77a1dc1f2f12198881c00356a04dddef126b985d (diff) | |
download | chat-1ccf093803bcc342e25f269c40b02f83be50b341.tar.gz chat-1ccf093803bcc342e25f269c40b02f83be50b341.tar.bz2 chat-1ccf093803bcc342e25f269c40b02f83be50b341.zip |
origin checker refactor (#7889)
Diffstat (limited to 'utils')
-rw-r--r-- | utils/api.go | 16 |
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) { |