diff options
Diffstat (limited to 'test/handlers/echo_h.erl')
-rw-r--r-- | test/handlers/echo_h.erl | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/test/handlers/echo_h.erl b/test/handlers/echo_h.erl index ec37a66..7d0e75b 100644 --- a/test/handlers/echo_h.erl +++ b/test/handlers/echo_h.erl @@ -30,6 +30,16 @@ echo(<<"read_body">>, Req0, Opts) -> Length = cowboy_req:body_length(Req1), {ok, integer_to_binary(Length), Req1}; <<"/opts", _/bits>> -> cowboy_req:read_body(Req0, Opts); + <<"/spawn", _/bits>> -> + Parent = self(), + Pid = spawn_link(fun() -> + Parent ! {self(), cowboy_req:read_body(Req0)} + end), + receive + {Pid, Msg} -> Msg + after 5000 -> + error(timeout) + end; _ -> cowboy_req:read_body(Req0) end, {ok, cowboy_req:reply(200, #{}, Body, Req), Opts}; |