diff options
Diffstat (limited to 'utils/api.go')
-rw-r--r-- | utils/api.go | 24 |
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 +} |