diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/http_SUITE.erl | 4 | ||||
-rw-r--r-- | test/http_SUITE_data/http_body_qs.erl | 4 | ||||
-rw-r--r-- | test/http_SUITE_data/http_echo_body.erl | 20 | ||||
-rw-r--r-- | test/http_SUITE_data/http_loop_stream_recv.erl | 10 |
4 files changed, 11 insertions, 27 deletions
diff --git a/test/http_SUITE.erl b/test/http_SUITE.erl index 35d4b06..8ab99cb 100644 --- a/test/http_SUITE.erl +++ b/test/http_SUITE.erl @@ -336,7 +336,7 @@ echo_body(Config) -> %% Check if sending request whose size is bigger than 1000000 bytes causes 413 echo_body_max_length(Config) -> ConnPid = gun_open(Config), - Ref = gun:post(ConnPid, "/echo/body", [], << 0:8000008 >>), + Ref = gun:post(ConnPid, "/echo/body", [], << 0:2000000/unit:8 >>), {response, nofin, 413, _} = gun:await(ConnPid, Ref), ok. @@ -350,7 +350,7 @@ echo_body_qs(Config) -> echo_body_qs_max_length(Config) -> ConnPid = gun_open(Config), - Ref = gun:post(ConnPid, "/echo/body_qs", [], << "echo=", 0:15996/unit:8 >>), + Ref = gun:post(ConnPid, "/echo/body_qs", [], << "echo=", 0:2000000/unit:8 >>), {response, nofin, 413, _} = gun:await(ConnPid, Ref), ok. diff --git a/test/http_SUITE_data/http_body_qs.erl b/test/http_SUITE_data/http_body_qs.erl index f1b974d..8a438e6 100644 --- a/test/http_SUITE_data/http_body_qs.erl +++ b/test/http_SUITE_data/http_body_qs.erl @@ -15,8 +15,8 @@ handle(Req, State) -> maybe_echo(<<"POST">>, true, Req) -> case cowboy_req:body_qs(Req) of - {error,badlength} -> - echo(badlength, Req); + {badlength, Req2} -> + echo(badlength, Req2); {ok, PostVals, Req2} -> echo(proplists:get_value(<<"echo">>, PostVals), Req2) end; diff --git a/test/http_SUITE_data/http_echo_body.erl b/test/http_SUITE_data/http_echo_body.erl index 014e05a..4f2afb2 100644 --- a/test/http_SUITE_data/http_echo_body.erl +++ b/test/http_SUITE_data/http_echo_body.erl @@ -10,17 +10,11 @@ init({_, http}, Req, _) -> handle(Req, State) -> true = cowboy_req:has_body(Req), {ok, Req3} = case cowboy_req:body(1000000, Req) of - {error, chunked} -> handle_chunked(Req); - {error, badlength} -> handle_badlength(Req); - {ok, Body, Req2} -> handle_body(Req2, Body) + {ok, Body, Req2} -> handle_body(Req2, Body); + {more, _, Req2} -> handle_badlength(Req2) end, {ok, Req3, State}. -handle_chunked(Req) -> - {ok, Data, Req2} = read_body(Req, <<>>, 1000000), - {ok, Req3} = cowboy_req:reply(200, [], Data, Req2), - {ok, Req3}. - handle_badlength(Req) -> {ok, Req2} = cowboy_req:reply(413, [], <<"Request entity too large">>, Req), {ok, Req2}. @@ -33,13 +27,3 @@ handle_body(Req, Body) -> terminate(_, _, _) -> ok. - -% Read chunked request content -read_body(Req, Acc, BodyLengthRemaining) -> - case cowboy_req:stream_body(Req) of - {ok, Data, Req2} -> - BodyLengthRem = BodyLengthRemaining - byte_size(Data), - read_body(Req2, << Acc/binary, Data/binary >>, BodyLengthRem); - {done, Req2} -> - {ok, Acc, Req2} - end. diff --git a/test/http_SUITE_data/http_loop_stream_recv.erl b/test/http_SUITE_data/http_loop_stream_recv.erl index 9f7646a..ce0d1da 100644 --- a/test/http_SUITE_data/http_loop_stream_recv.erl +++ b/test/http_SUITE_data/http_loop_stream_recv.erl @@ -14,12 +14,12 @@ info(stream, Req, undefined) -> stream(Req, 1, <<>>). stream(Req, ID, Acc) -> - case cowboy_req:stream_body(Req) of - {ok, Data, Req2} -> - parse_id(Req2, ID, << Acc/binary, Data/binary >>); - {done, Req2} -> + case cowboy_req:body(Req) of + {ok, <<>>, Req2} -> {ok, Req3} = cowboy_req:reply(200, Req2), - {ok, Req3, undefined} + {ok, Req3, undefined}; + {_, Data, Req2} -> + parse_id(Req2, ID, << Acc/binary, Data/binary >>) end. parse_id(Req, ID, Data) -> |