Skip to content

Commit

Permalink
Add a test for HTTP handlers loop timeouts
Browse files Browse the repository at this point in the history
  • Loading branch information
Loïc Hoguin committed May 2, 2012
1 parent 7ed93fc commit dab6648
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 0 deletions.
2 changes: 2 additions & 0 deletions test/http_SUITE.erl
Expand Up @@ -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, []}
]}
].
Expand Down Expand Up @@ -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"},
Expand Down
15 changes: 15 additions & 0 deletions 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.

0 comments on commit dab6648

Please sign in to comment.