summaryrefslogtreecommitdiffstats
path: root/api/webhook.go
diff options
context:
space:
mode:
authorthoemy <thoemy@gmx.net>2016-05-12 13:44:44 +0200
committerChristopher Speller <crspeller@gmail.com>2016-05-12 12:04:59 -0400
commit04dfa2a9eb50d60b2d4c2533f465799966b363a6 (patch)
tree56b1b8288b928b99eddf5994d20c965a65c108f8 /api/webhook.go
parent97450762dbb8323756d0f52cc7b59b86d0319b97 (diff)
downloadchat-04dfa2a9eb50d60b2d4c2533f465799966b363a6.tar.gz
chat-04dfa2a9eb50d60b2d4c2533f465799966b363a6.tar.bz2
chat-04dfa2a9eb50d60b2d4c2533f465799966b363a6.zip
Improve incoming webhook slack compatibility (#2972) (#2973)
By checking for form urlencoded content instead of JSON, requests without or with a wrong Content-Type header and a JSON body are correctly parsed.
Diffstat (limited to 'api/webhook.go')
-rw-r--r--api/webhook.go6
1 files changed, 3 insertions, 3 deletions
diff --git a/api/webhook.go b/api/webhook.go
index ea628e39c..a4367026f 100644
--- a/api/webhook.go
+++ b/api/webhook.go
@@ -358,10 +358,10 @@ func incomingWebhook(c *Context, w http.ResponseWriter, r *http.Request) {
var parsedRequest *model.IncomingWebhookRequest
contentType := r.Header.Get("Content-Type")
- if strings.Split(contentType, "; ")[0] == "application/json" {
- parsedRequest = model.IncomingWebhookRequestFromJson(r.Body)
- } else {
+ if strings.Split(contentType, "; ")[0] == "application/x-www-form-urlencoded" {
parsedRequest = model.IncomingWebhookRequestFromJson(strings.NewReader(r.FormValue("payload")))
+ } else {
+ parsedRequest = model.IncomingWebhookRequestFromJson(r.Body)
}
if parsedRequest == nil {