mirror of
https://github.com/ninenines/cowboy.git
synced 2025-07-14 12:20:24 +00:00
Fix HTTP/1.1 bug when a flow command is returned after fin
This resulted in a badarith error due to the current flow being set to infinity when the body has been fully read. A test case has been added reproducing the issue.
This commit is contained in:
parent
47ecfd7318
commit
8fc3da2fc3
3 changed files with 20 additions and 0 deletions
|
@ -282,6 +282,19 @@ early_error_stream_error_reason(Config) ->
|
|||
{response, fin, Status, _} = gun:await(ConnPid, Ref),
|
||||
ok.
|
||||
|
||||
flow_after_body_fully_read(Config) ->
|
||||
doc("A flow command may be returned even after the body was read fully."),
|
||||
Self = self(),
|
||||
ConnPid = gun_open(Config),
|
||||
Ref = gun:post(ConnPid, "/long_polling", [
|
||||
{<<"x-test-case">>, <<"flow_after_body_fully_read">>},
|
||||
{<<"x-test-pid">>, pid_to_list(Self)}
|
||||
], <<"Hello world!">>),
|
||||
%% Receive a 200 response, sent after the second flow command,
|
||||
%% confirming that the flow command was accepted.
|
||||
{response, _, 200, _} = gun:await(ConnPid, Ref),
|
||||
ok.
|
||||
|
||||
set_options_ignore_unknown(Config) ->
|
||||
doc("Confirm that unknown options are ignored when using the set_options commands."),
|
||||
Self = self(),
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue