mirror of
https://github.com/ninenines/cowboy.git
synced 2025-07-14 20:30:23 +00:00

The 'shutdown' atom has a specific meaning inside OTP. We are instead going to use 'stop' which is pretty much the equivalent of what we actually do. 'shutdown' is now reserved for future special processes implementation.
21 lines
574 B
Erlang
21 lines
574 B
Erlang
%% This module implements a loop handler that sends
|
|
%% itself a timeout that will intentionally arrive
|
|
%% too late, as it configures itself to only wait
|
|
%% 200ms before closing the connection in init/2.
|
|
%% This results in a 204 reply being sent back by Cowboy.
|
|
|
|
-module(loop_handler_timeout_h).
|
|
|
|
-export([init/2]).
|
|
-export([info/3]).
|
|
-export([terminate/3]).
|
|
|
|
init(Req, _) ->
|
|
erlang:send_after(1000, self(), timeout),
|
|
{cowboy_loop, Req, undefined, 200, hibernate}.
|
|
|
|
info(timeout, Req, State) ->
|
|
{stop, cowboy_req:reply(500, Req), State}.
|
|
|
|
terminate(timeout, _, _) ->
|
|
ok.
|