# HG changeset patch # User Matthew Wild # Date 1602586528 -3600 # Node ID de76f566159e42e334d9fc2255eeb9a899df5945 # Parent 413bd21ba449993a6cfc797acb0d3fa60d3cf94d net.http.server: Don't send Content-Length on 1xx/204 responses, per RFC (fixes #1596) diff -r 413bd21ba449 -r de76f566159e net/http/server.lua --- a/net/http/server.lua Mon Oct 12 20:21:18 2020 +0200 +++ b/net/http/server.lua Tue Oct 13 11:55:28 2020 +0100 @@ -295,7 +295,10 @@ function _M.send_response(response, body) if response.finished then return; end body = body or response.body or ""; - response.headers.content_length = #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 = #body; + end local output = prepare_header(response); t_insert(output, body); response.conn:write(t_concat(output));