aboutsummaryrefslogtreecommitdiffstats
path: root/src/cowboy_req.erl
diff options
context:
space:
mode:
authorLoïc Hoguin <[email protected]>2017-11-29 21:38:10 +0100
committerLoïc Hoguin <[email protected]>2017-11-29 21:38:10 +0100
commitb0519af42a4d3ee7e345967206bd1d0050e9061b (patch)
tree893faa21f4adab4070138da124fbc9f308f71f01 /src/cowboy_req.erl
parent8d9404e9b64a84117e765caa9b79877a15e5b693 (diff)
downloadcowboy-b0519af42a4d3ee7e345967206bd1d0050e9061b.tar.gz
cowboy-b0519af42a4d3ee7e345967206bd1d0050e9061b.tar.bz2
cowboy-b0519af42a4d3ee7e345967206bd1d0050e9061b.zip
Don't include a content-length in 204 responses
Diffstat (limited to 'src/cowboy_req.erl')
-rw-r--r--src/cowboy_req.erl5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/cowboy_req.erl b/src/cowboy_req.erl
index da3a0a4..e38b76c 100644
--- a/src/cowboy_req.erl
+++ b/src/cowboy_req.erl
@@ -725,6 +725,11 @@ reply(Status, Headers, SendFile = {sendfile, _, Len, _}, Req)
do_reply(Status, Headers#{
<<"content-length">> => integer_to_binary(Len)
}, SendFile, Req);
+%% 204 responses must not include content-length. (RFC7230 3.3.1, RFC7230 3.3.2)
+reply(Status=204, Headers, Body, Req) ->
+ do_reply(Status, Headers, Body, Req);
+reply(Status= <<"204",_/bits>>, Headers, Body, Req) ->
+ do_reply(Status, Headers, Body, Req);
reply(Status, Headers, Body, Req)
when is_integer(Status); is_binary(Status) ->
do_reply(Status, Headers#{