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 /app/server.go | |
parent | 77a1dc1f2f12198881c00356a04dddef126b985d (diff) | |
download | chat-1ccf093803bcc342e25f269c40b02f83be50b341.tar.gz chat-1ccf093803bcc342e25f269c40b02f83be50b341.tar.bz2 chat-1ccf093803bcc342e25f269c40b02f83be50b341.zip |
origin checker refactor (#7889)
Diffstat (limited to 'app/server.go')
-rw-r--r-- | app/server.go | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/app/server.go b/app/server.go index 0739d4989..eb2fa9b32 100644 --- a/app/server.go +++ b/app/server.go @@ -58,8 +58,8 @@ type CorsWrapper struct { } func (cw *CorsWrapper) ServeHTTP(w http.ResponseWriter, r *http.Request) { - if len(*cw.config().ServiceSettings.AllowCorsFrom) > 0 { - if utils.OriginChecker(r) { + if allowed := *cw.config().ServiceSettings.AllowCorsFrom; allowed != "" { + if utils.CheckOrigin(r, allowed) { w.Header().Set("Access-Control-Allow-Origin", r.Header.Get("Origin")) if r.Method == "OPTIONS" { @@ -252,6 +252,13 @@ func (a *App) StopServer() { } } +func (a *App) OriginChecker() func(*http.Request) bool { + if allowed := *a.Config().ServiceSettings.AllowCorsFrom; allowed != "" { + return utils.OriginChecker(allowed) + } + return nil +} + // This is required to re-use the underlying connection and not take up file descriptors func consumeAndClose(r *http.Response) { if r.Body != nil { |