diff options
Diffstat (limited to 'test/http_handler_echo_body.erl')
-rw-r--r-- | test/http_handler_echo_body.erl | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/test/http_handler_echo_body.erl b/test/http_handler_echo_body.erl new file mode 100644 index 0000000..b64ae7b --- /dev/null +++ b/test/http_handler_echo_body.erl @@ -0,0 +1,19 @@ +%% Feel free to use, reuse and abuse the code in this file. + +-module(http_handler_echo_body). +-behaviour(cowboy_http_handler). +-export([init/3, handle/2, terminate/2]). + +init({_, http}, Req, _) -> + {ok, Req, undefined}. + +handle(Req, State) -> + {true, Req1} = cowboy_http_req:has_body(Req), + {ok, Body, Req2} = cowboy_http_req:body(Req1), + {Size, Req3} = cowboy_http_req:body_length(Req2), + Size = byte_size(Body), + {ok, Req4} = cowboy_http_req:reply(200, [], Body, Req3), + {ok, Req4, State}. + +terminate(_, _) -> + ok. |