From 571a026a4ea47e1fadb0fc44563c640ba34dbdd7 Mon Sep 17 00:00:00 2001 From: Jerry Fireman Date: Fri, 17 May 2019 09:48:32 -0400 Subject: [PATCH] MM-11701 Log request ID for outgoing webhooks (#10513) * "Log request ID" * "Log request ID" * "Update in response to comment" * "Update in response to comment" * "Run gofmt" --- web/webhook.go | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/web/webhook.go b/web/webhook.go index 65f8a1e682..07f59e7fbb 100644 --- a/web/webhook.go +++ b/web/webhook.go @@ -4,7 +4,6 @@ package web import ( - "fmt" "io" "net/http" "strings" @@ -30,6 +29,15 @@ func incomingWebhook(c *Context, w http.ResponseWriter, r *http.Request) { var err *model.AppError incomingWebhookPayload := &model.IncomingWebhookRequest{} contentType := r.Header.Get("Content-Type") + + defer func() { + if *c.App.Config().LogSettings.EnableWebhookDebugging { + if c.Err != nil { + mlog.Debug("Incoming webhook received", mlog.String("webhook_id", id), mlog.String("request_id", c.App.RequestId), mlog.String("payload", incomingWebhookPayload.ToJson())) + } + } + }() + if strings.Split(contentType, "; ")[0] == "application/x-www-form-urlencoded" { payload := strings.NewReader(r.FormValue("payload")) @@ -56,10 +64,6 @@ func incomingWebhook(c *Context, w http.ResponseWriter, r *http.Request) { } } - if *c.App.Config().LogSettings.EnableWebhookDebugging { - mlog.Debug(fmt.Sprintf("Incoming webhook received. Id=%s Content=%s", id, incomingWebhookPayload.ToJson())) - } - err = c.App.HandleIncomingWebhook(id, incomingWebhookPayload) if err != nil { c.Err = err