aboutsummaryrefslogtreecommitdiffstats
path: root/src/gun_http.erl
diff options
context:
space:
mode:
authorLoïc Hoguin <[email protected]>2014-06-10 10:03:58 +0200
committerLoïc Hoguin <[email protected]>2014-06-10 10:03:58 +0200
commit39813dc223e74e1dc8044ba56a7a29e870431495 (patch)
tree7d619907ec10ed137ba12be1c3ed12ae33b9e014 /src/gun_http.erl
parentc957e16a08d1b72bb9ff177206987f18730596be (diff)
downloadgun-39813dc223e74e1dc8044ba56a7a29e870431495.tar.gz
gun-39813dc223e74e1dc8044ba56a7a29e870431495.tar.bz2
gun-39813dc223e74e1dc8044ba56a7a29e870431495.zip
Don't close the connection on empty data in cow_http:handle/2
This happens because handle/2 is actually a loop.
Diffstat (limited to 'src/gun_http.erl')
-rw-r--r--src/gun_http.erl3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/gun_http.erl b/src/gun_http.erl
index be6ba7d..ff1f01c 100644
--- a/src/gun_http.erl
+++ b/src/gun_http.erl
@@ -47,6 +47,9 @@ init(Owner, Socket, Transport, [{version, Version}]) ->
#http_state{owner=Owner, socket=Socket, transport=Transport,
version=Version}.
+%% Stop looping when we got no more data.
+handle(<<>>, State) ->
+ State;
%% Close when server responds and we don't have any open streams.
handle(_, #http_state{streams=[]}) ->
close;