aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--rebar.config1
-rw-r--r--src/cowboy_clock.erl9
-rw-r--r--src/cowboy_http_handler.erl2
-rw-r--r--src/cowboy_http_websocket_handler.erl2
4 files changed, 12 insertions, 2 deletions
diff --git a/rebar.config b/rebar.config
index afdbcc6..9a17367 100644
--- a/rebar.config
+++ b/rebar.config
@@ -1,6 +1,7 @@
{cover_enabled, true}.
{erl_opts, [
%% bin_opt_info,
+%% warn_missing_spec,
warnings_as_errors,
warn_export_all
]}.
diff --git a/src/cowboy_clock.erl b/src/cowboy_clock.erl
index a7645d9..cc824ed 100644
--- a/src/cowboy_clock.erl
+++ b/src/cowboy_clock.erl
@@ -60,6 +60,7 @@ rfc1123() ->
%% gen_server.
+-spec init([]) -> {ok, #state{}}.
init([]) ->
?TABLE = ets:new(?TABLE, [set, protected,
named_table, {read_concurrency, true}]),
@@ -69,28 +70,32 @@ init([]) ->
ets:insert(?TABLE, {rfc1123, B}),
{ok, #state{universaltime=T, rfc1123=B, tref=TRef}}.
+-spec handle_call(_, _, State)
+ -> {reply, ignored, State} | {stop, normal, stopped, State}.
handle_call(stop, _From, State=#state{tref=TRef}) ->
{ok, cancel} = timer:cancel(TRef),
{stop, normal, stopped, State};
-
handle_call(_Request, _From, State) ->
{reply, ignored, State}.
+-spec handle_cast(_, State) -> {noreply, State}.
handle_cast(_Msg, State) ->
{noreply, State}.
+-spec handle_info(_, State) -> {noreply, State}.
handle_info(update, #state{universaltime=Prev, rfc1123=B1, tref=TRef}) ->
T = erlang:universaltime(),
B2 = update_rfc1123(B1, Prev, T),
ets:insert(?TABLE, {rfc1123, B2}),
{noreply, #state{universaltime=T, rfc1123=B2, tref=TRef}};
-
handle_info(_Info, State) ->
{noreply, State}.
+-spec terminate(_, _) -> ok.
terminate(_Reason, _State) ->
ok.
+-spec code_change(_, State, _) -> {ok, State}.
code_change(_OldVsn, State, _Extra) ->
{ok, State}.
diff --git a/src/cowboy_http_handler.erl b/src/cowboy_http_handler.erl
index 8e36d0c..67f07bc 100644
--- a/src/cowboy_http_handler.erl
+++ b/src/cowboy_http_handler.erl
@@ -15,6 +15,8 @@
-module(cowboy_http_handler).
-export([behaviour_info/1]).
+-spec behaviour_info(_)
+ -> undefined | [{handle, 2} | {init, 3} | {terminate, 2}, ...].
behaviour_info(callbacks) ->
[{init, 3}, {handle, 2}, {terminate, 2}];
behaviour_info(_Other) ->
diff --git a/src/cowboy_http_websocket_handler.erl b/src/cowboy_http_websocket_handler.erl
index 3de1182..30cb2e1 100644
--- a/src/cowboy_http_websocket_handler.erl
+++ b/src/cowboy_http_websocket_handler.erl
@@ -15,6 +15,8 @@
-module(cowboy_http_websocket_handler).
-export([behaviour_info/1]).
+-spec behaviour_info(_) -> undefined | [{websocket_handle, 3}
+ | {websocket_init, 3} | {websocket_terminate, 3}, ...].
behaviour_info(callbacks) ->
[{websocket_init, 3}, {websocket_handle, 3}, {websocket_terminate, 3}];
behaviour_info(_Other) ->