aboutsummaryrefslogtreecommitdiffstats
path: root/test/http_handler_loop_recv.erl
diff options
context:
space:
mode:
authorLoïc Hoguin <[email protected]>2013-04-12 14:16:59 +0200
committerLoïc Hoguin <[email protected]>2013-04-12 14:32:37 +0200
commit2aabc73045daa1c06d73c76ffc442ee7ebe38d14 (patch)
tree507f2cef335e141227a02a36c933d6567c87b95d /test/http_handler_loop_recv.erl
parent1eb2bda3041ccc87690d74087011074db6699147 (diff)
downloadcowboy-2aabc73045daa1c06d73c76ffc442ee7ebe38d14.tar.gz
cowboy-2aabc73045daa1c06d73c76ffc442ee7ebe38d14.tar.bz2
cowboy-2aabc73045daa1c06d73c76ffc442ee7ebe38d14.zip
Ensure we can fetch the body in the info/3 function of loop handlers
Diffstat (limited to 'test/http_handler_loop_recv.erl')
-rw-r--r--test/http_handler_loop_recv.erl18
1 files changed, 18 insertions, 0 deletions
diff --git a/test/http_handler_loop_recv.erl b/test/http_handler_loop_recv.erl
new file mode 100644
index 0000000..4d0a321
--- /dev/null
+++ b/test/http_handler_loop_recv.erl
@@ -0,0 +1,18 @@
+%% Feel free to use, reuse and abuse the code in this file.
+
+-module(http_handler_loop_recv).
+-behaviour(cowboy_loop_handler).
+-export([init/3, info/3, terminate/3]).
+
+init({_, http}, Req, _) ->
+ self() ! recv_timeout,
+ {loop, Req, undefined, 500, hibernate}.
+
+info(recv_timeout, Req, State) ->
+ {ok, Body, Req1} = cowboy_req:body(Req),
+ 100000 = byte_size(Body),
+ {ok, Req2} = cowboy_req:reply(200, Req1),
+ {ok, Req2, State}.
+
+terminate({normal, shutdown}, _, _) ->
+ ok.