From 570d2eccec32d3ec9dfc63ec1688bff27eb7d9e1 Mon Sep 17 00:00:00 2001 From: Chris Lu Date: Wed, 18 Aug 2021 00:56:35 -0700 Subject: [PATCH] skip body if not allowed by http status --- weed/server/common.go | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/weed/server/common.go b/weed/server/common.go index 13d20d879..ad3842190 100644 --- a/weed/server/common.go +++ b/weed/server/common.go @@ -33,8 +33,21 @@ func init() { go serverStats.Start() } +// bodyAllowedForStatus is a copy of http.bodyAllowedForStatus non-exported function. +func bodyAllowedForStatus(status int) bool { + switch { + case status >= 100 && status <= 199: + return false + case status == http.StatusNoContent: + return false + case status == http.StatusNotModified: + return false + } + return true +} + func writeJson(w http.ResponseWriter, r *http.Request, httpStatus int, obj interface{}) (err error) { - if httpStatus == http.StatusNoContent { + if !bodyAllowedForStatus(httpStatus) { return }