diff options
author | Dmitri Vereshchagin <[email protected]> | 2022-10-06 00:24:43 +0300 |
---|---|---|
committer | Loïc Hoguin <[email protected]> | 2023-12-18 15:39:39 +0100 |
commit | 2558ba65ad3e39dd10ab65196af8f4dbb067f476 (patch) | |
tree | 3ce5bbafdd6735fac59925049bc7bb978a0dce5a /test/cowboy_test.erl | |
parent | 03a3bf4474a6ab30b8f66c2cc3051f61678b290a (diff) | |
download | cowboy-2558ba65ad3e39dd10ab65196af8f4dbb067f476.tar.gz cowboy-2558ba65ad3e39dd10ab65196af8f4dbb067f476.tar.bz2 cowboy-2558ba65ad3e39dd10ab65196af8f4dbb067f476.zip |
Fix shutdown for HTTP/1.1 pipeline
Sending extra response prevented by terminating all streams except
the one currently executing.
LH: Reworded some variables to make what happens more obvious.
Diffstat (limited to 'test/cowboy_test.erl')
-rw-r--r-- | test/cowboy_test.erl | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/test/cowboy_test.erl b/test/cowboy_test.erl index 44734b5..ed762f7 100644 --- a/test/cowboy_test.erl +++ b/test/cowboy_test.erl @@ -157,6 +157,12 @@ raw_recv_head(Socket, Transport, Buffer) -> Buffer end. +raw_recv_rest({raw_client, _, _}, Length, Buffer) when Length =:= byte_size(Buffer) -> + Buffer; +raw_recv_rest({raw_client, Socket, Transport}, Length, Buffer) when Length > byte_size(Buffer) -> + {ok, Data} = Transport:recv(Socket, Length - byte_size(Buffer), 10000), + << Buffer/binary, Data/binary >>. + raw_recv({raw_client, Socket, Transport}, Length, Timeout) -> Transport:recv(Socket, Length, Timeout). |