From 3d61f8de62eaef2aa887546bc2f2418a8c161349 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Hoguin?= Date: Sun, 3 May 2015 16:32:12 +0300 Subject: Add a missing Transfer-Encoding: chunked header in HTTP When we stream content we need to set this header manually from Gun. --- src/gun_http.erl | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/gun_http.erl b/src/gun_http.erl index 1090e6b..c075af2 100644 --- a/src/gun_http.erl +++ b/src/gun_http.erl @@ -220,7 +220,11 @@ request(State=#http_state{socket=Socket, transport=Transport, version=Version, %% We use Headers2 because this is the smallest list. Conn = conn_from_headers(Version, Headers2), Out = request_io_from_headers(Headers2), - Transport:send(Socket, cow_http:request(Method, Path, Version, Headers3)), + Headers4 = case Out of + body_chunked -> [{<<"transfer-encoding">>, <<"chunked">>}|Headers3]; + _ -> Headers3 + end, + Transport:send(Socket, cow_http:request(Method, Path, Version, Headers4)), new_stream(State#http_state{connection=Conn, out=Out}, StreamRef). request(State=#http_state{socket=Socket, transport=Transport, version=Version, -- cgit v1.2.3