diff --git a/src/cowboy_http_protocol.erl b/src/cowboy_http_protocol.erl index dc226a60..0a6bddf1 100644 --- a/src/cowboy_http_protocol.erl +++ b/src/cowboy_http_protocol.erl @@ -284,6 +284,8 @@ ensure_response(Req=#http_req{resp_state=waiting}) -> _ = cowboy_http_req:reply(204, [], [], Req), ok; %% Close the chunked reply. +ensure_response(#http_req{method='HEAD', resp_state=chunks}) -> + close; ensure_response(#http_req{socket=Socket, transport=Transport, resp_state=chunks}) -> Transport:send(Socket, <<"0\r\n\r\n">>), diff --git a/src/cowboy_http_req.erl b/src/cowboy_http_req.erl index 808a108d..889fb10f 100644 --- a/src/cowboy_http_req.erl +++ b/src/cowboy_http_req.erl @@ -335,14 +335,6 @@ reply(Code, Headers, Body, Req=#http_req{socket=Socket, %% @see cowboy_http_req:chunk/2 -spec chunked_reply(http_status(), http_headers(), #http_req{}) -> {ok, #http_req{}}. -chunked_reply(Code, Headers, Req=#http_req{socket=Socket, transport=Transport, - method='HEAD', resp_state=waiting}) -> - Head = response_head(Code, Headers, [ - {<<"Date">>, cowboy_clock:rfc1123()}, - {<<"Server">>, <<"Cowboy">>} - ]), - Transport:send(Socket, Head), - {ok, Req#http_req{resp_state=done}}; chunked_reply(Code, Headers, Req=#http_req{socket=Socket, transport=Transport, resp_state=waiting}) -> Head = response_head(Code, Headers, [