%% Feel free to use, reuse and abuse the code in this file.

-module(ws_timeout_cancel).

-export([init/2]).
-export([websocket_handle/2]).
-export([websocket_info/2]).

init(Req, _) ->
	erlang:start_timer(500, self(), should_not_cancel_timer),
	{cowboy_websocket, Req, undefined, #{
		idle_timeout => 1000
	}}.

websocket_handle({text, Data}, State) ->
	{[{text, Data}], State};
websocket_handle({binary, Data}, State) ->
	{[{binary, Data}], State}.

websocket_info(_Info, State) ->
	erlang:start_timer(500, self(), should_not_cancel_timer),
	{[], State}.
