diff --git a/app/webhook_test.go b/app/webhook_test.go index 1e9bd0fe6c..95710bc4f1 100644 --- a/app/webhook_test.go +++ b/app/webhook_test.go @@ -798,4 +798,14 @@ func TestDoOutgoingWebhookRequest(t *testing.T) { require.NotNil(t, err) require.IsType(t, &url.Error{}, err) }) + + t.Run("without response", func(t *testing.T) { + server := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + })) + defer server.Close() + + resp, err := th.App.doOutgoingWebhookRequest(server.URL, strings.NewReader(""), "application/json") + require.Nil(t, err) + require.Nil(t, resp) + }) } diff --git a/model/outgoing_webhook.go b/model/outgoing_webhook.go index f4278de0d0..d6cb213833 100644 --- a/model/outgoing_webhook.go +++ b/model/outgoing_webhook.go @@ -112,6 +112,9 @@ func (o *OutgoingWebhookResponse) ToJson() string { func OutgoingWebhookResponseFromJson(data io.Reader) (*OutgoingWebhookResponse, error) { var o *OutgoingWebhookResponse err := json.NewDecoder(data).Decode(&o) + if err == io.EOF { + return nil, nil + } return o, err }