diff options
author | Loïc Hoguin <[email protected]> | 2012-04-30 22:24:52 +0200 |
---|---|---|
committer | Loïc Hoguin <[email protected]> | 2012-04-30 22:24:52 +0200 |
commit | 48a2b177f587c742c30428e4319075fdc12157b7 (patch) | |
tree | 8e2b4e48361681cad25042ba85a22187ec452154 /src/cowboy_http_req.erl | |
parent | bc2d53d2a5e865ce36a0419c4d4698b30359415b (diff) | |
parent | ee8c50c5ab97dcaebc8932d093741fdb496e00f7 (diff) | |
download | cowboy-48a2b177f587c742c30428e4319075fdc12157b7.tar.gz cowboy-48a2b177f587c742c30428e4319075fdc12157b7.tar.bz2 cowboy-48a2b177f587c742c30428e4319075fdc12157b7.zip |
Merge branch 'cowboy-client'
Diffstat (limited to 'src/cowboy_http_req.erl')
-rw-r--r-- | src/cowboy_http_req.erl | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/cowboy_http_req.erl b/src/cowboy_http_req.erl index a6e8834..dfb73e7 100644 --- a/src/cowboy_http_req.erl +++ b/src/cowboy_http_req.erl @@ -456,10 +456,11 @@ stream_body(Req=#http_req{body_state=done}) -> -spec stream_body_recv(#http_req{}) -> {ok, binary(), #http_req{}} | {error, atom()}. -stream_body_recv(Req=#http_req{transport=Transport, socket=Socket}) -> +stream_body_recv(Req=#http_req{ + transport=Transport, socket=Socket, buffer=Buffer}) -> %% @todo Allow configuring the timeout. case Transport:recv(Socket, 0, 5000) of - {ok, Data} -> transfer_decode(Data, Req); + {ok, Data} -> transfer_decode(<< Buffer/binary, Data/binary >>, Req); {error, Reason} -> {error, Reason} end. @@ -477,7 +478,7 @@ transfer_decode(Data, Req=#http_req{ {stream, TransferDecode, TransferState2, ContentDecode}}); %% @todo {header(s) for chunked more -> - stream_body_recv(Req); + stream_body_recv(Req#http_req{buffer=Data}); {done, Length, Rest} -> Req2 = transfer_decode_done(Length, Rest, Req), {done, Req2}; |