diff options
author | Loïc Hoguin <[email protected]> | 2012-05-02 20:27:44 +0200 |
---|---|---|
committer | Loïc Hoguin <[email protected]> | 2012-05-02 20:27:44 +0200 |
commit | dab6648290679dd2a655eaaeea4b75beca9ae151 (patch) | |
tree | f8dd7aee74d275b15f45d00d748ef85dc90cf9fd | |
parent | 7ed93fcc8f3fe42cbe22e96e3352b444c2480f74 (diff) | |
download | cowboy-dab6648290679dd2a655eaaeea4b75beca9ae151.tar.gz cowboy-dab6648290679dd2a655eaaeea4b75beca9ae151.tar.bz2 cowboy-dab6648290679dd2a655eaaeea4b75beca9ae151.zip |
Add a test for HTTP handlers loop timeouts
-rw-r--r-- | test/http_SUITE.erl | 2 | ||||
-rw-r--r-- | test/http_handler_loop_timeout.erl | 15 |
2 files changed, 17 insertions, 0 deletions
diff --git a/test/http_SUITE.erl b/test/http_SUITE.erl index a906037..d29cbcc 100644 --- a/test/http_SUITE.erl +++ b/test/http_SUITE.erl @@ -228,6 +228,7 @@ init_dispatch(Config) -> {[<<"simple_post">>], rest_forbidden_resource, [false]}, {[<<"nodelete">>], rest_nodelete_resource, []}, {[<<"resetags">>], rest_resource_etags, []}, + {[<<"loop_timeout">>], http_handler_loop_timeout, []}, {[], http_handler, []} ]} ]. @@ -352,6 +353,7 @@ check_status(Config) -> {102, "/long_polling"}, {200, "/"}, {200, "/simple"}, + {204, "/loop_timeout"}, {400, "/static/%2f"}, {400, "/static/%2e"}, {400, "/static/%2e%2e"}, diff --git a/test/http_handler_loop_timeout.erl b/test/http_handler_loop_timeout.erl new file mode 100644 index 0000000..76d6ea8 --- /dev/null +++ b/test/http_handler_loop_timeout.erl @@ -0,0 +1,15 @@ +%% Feel free to use, reuse and abuse the code in this file. + +-module(http_handler_loop_timeout). +-export([init/3, info/3, terminate/2]). + +init({_, http}, Req, _) -> + erlang:send_after(1000, self(), error_timeout), + {loop, Req, undefined, 500, hibernate}. + +info(error_timeout, Req, State) -> + {ok, Req2} = cowboy_http_req:reply(500, Req), + {ok, Req2, State}. + +terminate(_, _) -> + ok. |