diff options
author | Jesús Espino <jespinog@gmail.com> | 2018-06-26 23:04:06 +0200 |
---|---|---|
committer | Joram Wilander <jwawilander@gmail.com> | 2018-06-26 17:04:06 -0400 |
commit | 85aa3d664c32af0532113f554002a5d3192faf29 (patch) | |
tree | 226a4d31b1ce09b22ad8a9d39c06feb629a576a4 | |
parent | 2d7cd02abcd62ffd60fe3c6e16e5189169de349e (diff) | |
download | chat-85aa3d664c32af0532113f554002a5d3192faf29.tar.gz chat-85aa3d664c32af0532113f554002a5d3192faf29.tar.bz2 chat-85aa3d664c32af0532113f554002a5d3192faf29.zip |
MM-11034: Reply properly to incomming webhooks on errors (#9010)
-rw-r--r-- | web/handlers.go | 2 | ||||
-rw-r--r-- | web/web.go | 8 |
2 files changed, 8 insertions, 2 deletions
diff --git a/web/handlers.go b/web/handlers.go index c12466fee..c089f460b 100644 --- a/web/handlers.go +++ b/web/handlers.go @@ -157,7 +157,7 @@ func (h Handler) ServeHTTP(w http.ResponseWriter, r *http.Request) { c.Err.IsOAuth = false } - if IsApiCall(c.App, r) || len(r.Header.Get("X-Mobile-App")) > 0 { + if IsApiCall(c.App, r) || IsWebhookCall(c.App, r) || len(r.Header.Get("X-Mobile-App")) > 0 { w.WriteHeader(c.Err.StatusCode) w.Write([]byte(c.Err.ToJson())) } else { diff --git a/web/web.go b/web/web.go index 479f439fb..f41854cbd 100644 --- a/web/web.go +++ b/web/web.go @@ -73,7 +73,13 @@ func Handle404(a *app.App, w http.ResponseWriter, r *http.Request) { func IsApiCall(a *app.App, r *http.Request) bool { subpath, _ := utils.GetSubpathFromConfig(a.Config()) - return strings.Index(r.URL.Path, path.Join(subpath, "api")+"/") == 0 + return strings.HasPrefix(r.URL.Path, path.Join(subpath, "api")+"/") +} + +func IsWebhookCall(a *app.App, r *http.Request) bool { + subpath, _ := utils.GetSubpathFromConfig(a.Config()) + + return strings.HasPrefix(r.URL.Path, path.Join(subpath, "hooks")+"/") } func ReturnStatusOK(w http.ResponseWriter) { |