From 13adcc37b61a6c6bb5c962604810d39c36a9cb10 Mon Sep 17 00:00:00 2001 From: pancho horrillo Date: Mon, 11 May 2020 13:59:09 +0200 Subject: [PATCH] fix: panic sentinel value if http client misbehaves MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When an http client does not consume the whole body, we panic'ed a custom message instead of the required sentinel value. For the details, check ¹ and look for ErrAbortHandler. ¹: https://pkg.go.dev/net/http Co-authored-by: César Gallego Rodríguez --- internal/server/data/resource.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/server/data/resource.go b/internal/server/data/resource.go index 111d497..4d76afc 100644 --- a/internal/server/data/resource.go +++ b/internal/server/data/resource.go @@ -193,7 +193,7 @@ func setResponseCookies(w http.ResponseWriter, r *http.Request, h *model.Handler func setResponseBody(w http.ResponseWriter, r *http.Request, h *model.Handler) { if n, err := io.Copy(h.Writer, r.Body); err != nil { if n > 0 { - panic("Truncated body") + panic(http.ErrAbortHandler) } httperror.ErrorJSON(w, http.StatusText(http.StatusInternalServerError), http.StatusInternalServerError) }