aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--net/http/server.lua5
1 files changed, 4 insertions, 1 deletions
diff --git a/net/http/server.lua b/net/http/server.lua
index 0070367a..75859719 100644
--- a/net/http/server.lua
+++ b/net/http/server.lua
@@ -331,7 +331,10 @@ end
function _M.send_response(response, body)
if response.finished then return; end
body = body or response.body or "";
- response.headers.content_length = ("%d"):format(#body);
+ -- Per RFC 7230, informational (1xx) and 204 (no content) should have no c-l header
+ if response.status_code > 199 and response.status_code ~= 204 then
+ response.headers.content_length = ("%d"):format(#body);
+ end
if response.is_head_request then
return _M.send_head_response(response)
end