From e30d120bd8c9a4a7b469937d5b5be6a8dfe148d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Hoguin?= Date: Wed, 10 Aug 2016 17:15:02 +0200 Subject: Make reply functions return Req --- test/handlers/echo_h.erl | 18 +++----- test/handlers/loop_handler_body_h.erl | 7 ++- test/handlers/resp_h.erl | 81 ++++++++++++++++------------------- 3 files changed, 46 insertions(+), 60 deletions(-) (limited to 'test') diff --git a/test/handlers/echo_h.erl b/test/handlers/echo_h.erl index 98594dc..fb7d8a8 100644 --- a/test/handlers/echo_h.erl +++ b/test/handlers/echo_h.erl @@ -22,8 +22,7 @@ echo(<<"read_body">>, Req0, Opts) -> <<"/opts", _/bits>> -> cowboy_req:read_body(Req0, Opts); _ -> cowboy_req:read_body(Req0) end, - cowboy_req:reply(200, #{}, Body, Req), - {ok, Req, Opts}; + {ok, cowboy_req:reply(200, #{}, Body, Req), Opts}; echo(<<"read_urlencoded_body">>, Req0, Opts) -> Path = cowboy_req:path(Req0), case {Path, Opts} of @@ -36,8 +35,7 @@ echo(<<"read_urlencoded_body">>, Req0, Opts) -> <<"/crash", _/bits>> -> cowboy_req:read_urlencoded_body(Req0, Opts); _ -> cowboy_req:read_urlencoded_body(Req0) end, - cowboy_req:reply(200, #{}, value_to_iodata(Body), Req), - {ok, Req, Opts}; + {ok, cowboy_req:reply(200, #{}, value_to_iodata(Body), Req), Opts}; echo(<<"uri">>, Req, Opts) -> Value = case cowboy_req:path_info(Req) of [<<"origin">>] -> cowboy_req:uri(Req, #{host => undefined}); @@ -47,8 +45,7 @@ echo(<<"uri">>, Req, Opts) -> [<<"set-port">>] -> cowboy_req:uri(Req, #{port => 123}); [] -> cowboy_req:uri(Req) end, - cowboy_req:reply(200, #{}, Value, Req), - {ok, Req, Opts}; + {ok, cowboy_req:reply(200, #{}, Value, Req), Opts}; echo(<<"match">>, Req, Opts) -> [Type|Fields0] = cowboy_req:path_info(Req), Fields = [binary_to_atom(F, latin1) || F <- Fields0], @@ -56,13 +53,11 @@ echo(<<"match">>, Req, Opts) -> <<"qs">> -> cowboy_req:match_qs(Fields, Req); <<"cookies">> -> cowboy_req:match_cookies(Fields, Req) end, - cowboy_req:reply(200, #{}, value_to_iodata(Value), Req), - {ok, Req, Opts}; + {ok, cowboy_req:reply(200, #{}, value_to_iodata(Value), Req), Opts}; echo(What, Req, Opts) -> F = binary_to_atom(What, latin1), Value = cowboy_req:F(Req), - cowboy_req:reply(200, #{}, value_to_iodata(Value), Req), - {ok, Req, Opts}. + {ok, cowboy_req:reply(200, #{}, value_to_iodata(Value), Req), Opts}. echo_arg(Arg0, Req, Opts) -> F = binary_to_atom(cowboy_req:binding(key, Req), latin1), @@ -74,8 +69,7 @@ echo_arg(Arg0, Req, Opts) -> undefined -> cowboy_req:F(Arg, Req); Default -> cowboy_req:F(Arg, Req, Default) end, - cowboy_req:reply(200, #{}, value_to_iodata(Value), Req), - {ok, Req, Opts}. + {ok, cowboy_req:reply(200, #{}, value_to_iodata(Value), Req), Opts}. read_body(Req0, Acc) -> case cowboy_req:read_body(Req0) of diff --git a/test/handlers/loop_handler_body_h.erl b/test/handlers/loop_handler_body_h.erl index 38ba2c0..e0ea41b 100644 --- a/test/handlers/loop_handler_body_h.erl +++ b/test/handlers/loop_handler_body_h.erl @@ -13,11 +13,10 @@ init(Req, _) -> self() ! timeout, {cowboy_loop, Req, undefined, 5000, hibernate}. -info(timeout, Req, State) -> - {ok, Body, Req2} = cowboy_req:read_body(Req), +info(timeout, Req0, State) -> + {ok, Body, Req} = cowboy_req:read_body(Req0), 100000 = byte_size(Body), - cowboy_req:reply(200, Req2), - {stop, Req, State}. + {stop, cowboy_req:reply(200, Req), State}. terminate(stop, _, _) -> ok. diff --git a/test/handlers/resp_h.erl b/test/handlers/resp_h.erl index 36e6f13..bb64906 100644 --- a/test/handlers/resp_h.erl +++ b/test/handlers/resp_h.erl @@ -18,38 +18,34 @@ do(<<"set_resp_cookie3">>, Req0, Opts) -> Req1 = cowboy_req:set_resp_cookie(<<"mycookie">>, "myvalue", Req0), cowboy_req:set_resp_cookie(<<"mycookie">>, <<"overwrite">>, Req1) end, - cowboy_req:reply(200, #{}, "OK", Req), - {ok, Req, Opts}; + {ok, cowboy_req:reply(200, #{}, "OK", Req), Opts}; do(<<"set_resp_cookie4">>, Req0, Opts) -> Req = cowboy_req:set_resp_cookie(<<"mycookie">>, "myvalue", #{path => cowboy_req:path(Req0)}, Req0), - cowboy_req:reply(200, #{}, "OK", Req), - {ok, Req, Opts}; + {ok, cowboy_req:reply(200, #{}, "OK", Req), Opts}; do(<<"set_resp_header">>, Req0, Opts) -> Req = cowboy_req:set_resp_header(<<"content-type">>, <<"text/plain">>, Req0), - cowboy_req:reply(200, #{}, "OK", Req), - {ok, Req, Opts}; + {ok, cowboy_req:reply(200, #{}, "OK", Req), Opts}; do(<<"set_resp_body">>, Req0, Opts) -> Arg = cowboy_req:binding(arg, Req0), - Req = case Arg of + Req1 = case Arg of <<"sendfile">> -> AppFile = code:where_is_file("cowboy.app"), cowboy_req:set_resp_body({sendfile, 0, filelib:file_size(AppFile), AppFile}, Req0); _ -> cowboy_req:set_resp_body(<<"OK">>, Req0) end, - case Arg of + Req = case Arg of <<"override">> -> - cowboy_req:reply(200, #{}, <<"OVERRIDE">>, Req); + cowboy_req:reply(200, #{}, <<"OVERRIDE">>, Req1); _ -> - cowboy_req:reply(200, Req) + cowboy_req:reply(200, Req1) end, {ok, Req, Opts}; do(<<"has_resp_header">>, Req0, Opts) -> false = cowboy_req:has_resp_header(<<"content-type">>, Req0), Req = cowboy_req:set_resp_header(<<"content-type">>, <<"text/plain">>, Req0), true = cowboy_req:has_resp_header(<<"content-type">>, Req), - cowboy_req:reply(200, #{}, "OK", Req), - {ok, Req, Opts}; + {ok, cowboy_req:reply(200, #{}, "OK", Req), Opts}; do(<<"has_resp_body">>, Req0, Opts) -> case cowboy_req:binding(arg, Req0) of <<"sendfile">> -> @@ -57,14 +53,12 @@ do(<<"has_resp_body">>, Req0, Opts) -> false = cowboy_req:has_resp_body(Req0), Req = cowboy_req:set_resp_body({sendfile, 0, 10, code:where_is_file("cowboy.app")}, Req0), true = cowboy_req:has_resp_body(Req), - cowboy_req:reply(200, #{}, <<"OK">>, Req), - {ok, Req, Opts}; + {ok, cowboy_req:reply(200, #{}, <<"OK">>, Req), Opts}; undefined -> false = cowboy_req:has_resp_body(Req0), Req = cowboy_req:set_resp_body(<<"OK">>, Req0), true = cowboy_req:has_resp_body(Req), - cowboy_req:reply(200, #{}, Req), - {ok, Req, Opts} + {ok, cowboy_req:reply(200, #{}, Req), Opts} end; do(<<"delete_resp_header">>, Req0, Opts) -> false = cowboy_req:has_resp_header(<<"content-type">>, Req0), @@ -72,61 +66,61 @@ do(<<"delete_resp_header">>, Req0, Opts) -> true = cowboy_req:has_resp_header(<<"content-type">>, Req1), Req = cowboy_req:delete_resp_header(<<"content-type">>, Req1), false = cowboy_req:has_resp_header(<<"content-type">>, Req), - cowboy_req:reply(200, #{}, "OK", Req), - {ok, Req, Opts}; -do(<<"reply2">>, Req, Opts) -> - case cowboy_req:binding(arg, Req) of + {ok, cowboy_req:reply(200, #{}, "OK", Req), Opts}; +do(<<"reply2">>, Req0, Opts) -> + Req = case cowboy_req:binding(arg, Req0) of <<"binary">> -> - cowboy_req:reply(<<"200 GOOD">>, Req); + cowboy_req:reply(<<"200 GOOD">>, Req0); <<"error">> -> ct_helper:ignore(cowboy_req, reply, 4), - cowboy_req:reply(ok, Req); + cowboy_req:reply(ok, Req0); <<"twice">> -> - cowboy_req:reply(200, Req), - cowboy_req:reply(200, Req); + ct_helper:ignore(cowboy_req, reply, 4), + Req1 = cowboy_req:reply(200, Req0), + cowboy_req:reply(200, Req1); Status -> - cowboy_req:reply(binary_to_integer(Status), Req) + cowboy_req:reply(binary_to_integer(Status), Req0) end, {ok, Req, Opts}; -do(<<"reply3">>, Req, Opts) -> - case cowboy_req:binding(arg, Req) of +do(<<"reply3">>, Req0, Opts) -> + Req = case cowboy_req:binding(arg, Req0) of <<"error">> -> ct_helper:ignore(cowboy_req, reply, 4), - cowboy_req:reply(200, ok, Req); + cowboy_req:reply(200, ok, Req0); Status -> cowboy_req:reply(binary_to_integer(Status), - #{<<"content-type">> => <<"text/plain">>}, Req) + #{<<"content-type">> => <<"text/plain">>}, Req0) end, {ok, Req, Opts}; -do(<<"reply4">>, Req, Opts) -> - case cowboy_req:binding(arg, Req) of +do(<<"reply4">>, Req0, Opts) -> + Req = case cowboy_req:binding(arg, Req0) of <<"error">> -> ct_helper:ignore(erlang, iolist_size, 1), - cowboy_req:reply(200, #{}, ok, Req); + cowboy_req:reply(200, #{}, ok, Req0); Status -> - cowboy_req:reply(binary_to_integer(Status), #{}, <<"OK">>, Req) + cowboy_req:reply(binary_to_integer(Status), #{}, <<"OK">>, Req0) end, {ok, Req, Opts}; -do(<<"stream_reply2">>, Req, Opts) -> - case cowboy_req:binding(arg, Req) of +do(<<"stream_reply2">>, Req0, Opts) -> + Req = case cowboy_req:binding(arg, Req0) of <<"binary">> -> - cowboy_req:stream_reply(<<"200 GOOD">>, Req); + cowboy_req:stream_reply(<<"200 GOOD">>, Req0); <<"error">> -> ct_helper:ignore(cowboy_req, stream_reply, 3), - cowboy_req:stream_reply(ok, Req); + cowboy_req:stream_reply(ok, Req0); Status -> - cowboy_req:stream_reply(binary_to_integer(Status), Req) + cowboy_req:stream_reply(binary_to_integer(Status), Req0) end, stream_body(Req), {ok, Req, Opts}; -do(<<"stream_reply3">>, Req, Opts) -> - case cowboy_req:binding(arg, Req) of +do(<<"stream_reply3">>, Req0, Opts) -> + Req = case cowboy_req:binding(arg, Req0) of <<"error">> -> ct_helper:ignore(cowboy_req, stream_reply, 3), - cowboy_req:stream_reply(200, ok, Req); + cowboy_req:stream_reply(200, ok, Req0); Status -> cowboy_req:stream_reply(binary_to_integer(Status), - #{<<"content-type">> => <<"text/plain">>}, Req) + #{<<"content-type">> => <<"text/plain">>}, Req0) end, stream_body(Req), {ok, Req, Opts}; @@ -150,8 +144,7 @@ do(<<"push">>, Req, Opts) -> %% The text/plain mime is not defined by default, so a 406 will be returned. cowboy_req:push("/static/plain.txt", #{<<"accept">> => <<"text/plain">>}, Req) end, - cowboy_req:reply(200, Req), - {ok, Req, Opts}. + {ok, cowboy_req:reply(200, Req), Opts}. stream_body(Req) -> _ = [cowboy_req:stream_body(<<0:800000>>, nofin, Req) || _ <- lists:seq(1,9)], -- cgit v1.2.3