From ecc4f153cd713562c4d7b54ece0e274a411fd26f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Hoguin?= Date: Tue, 25 Mar 2014 13:00:47 +0100 Subject: Automatically calculate the content-length when possible in SPDY --- src/gun_spdy.erl | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/gun_spdy.erl') diff --git a/src/gun_spdy.erl b/src/gun_spdy.erl index 0947c0f..5ada67a 100644 --- a/src/gun_spdy.erl +++ b/src/gun_spdy.erl @@ -202,10 +202,12 @@ request(State=#spdy_state{socket=Socket, transport=Transport, zdef=Zdef, %% @todo Handle Body > 16MB. (split it out into many frames) request(State=#spdy_state{socket=Socket, transport=Transport, zdef=Zdef, stream_id=StreamID}, StreamRef, Method, Host, Path, Headers, Body) -> + Headers2 = lists:keystore(<<"content-length">>, 1, Headers, + {<<"content-length">>, integer_to_list(iolist_size(Body))}), Transport:send(Socket, [ cow_spdy:syn_stream(Zdef, StreamID, 0, false, false, 0, - Method, <<"https">>, Host, Path, <<"HTTP/1.1">>, Headers), + Method, <<"https">>, Host, Path, <<"HTTP/1.1">>, Headers2), cow_spdy:data(StreamID, true, Body) ]), new_stream(StreamID, StreamRef, true, false, <<"HTTP/1.1">>, -- cgit v1.2.3