aboutsummaryrefslogtreecommitdiffstats
path: root/src/cowboy.erl
diff options
context:
space:
mode:
Diffstat (limited to 'src/cowboy.erl')
-rw-r--r--src/cowboy.erl18
1 files changed, 16 insertions, 2 deletions
diff --git a/src/cowboy.erl b/src/cowboy.erl
index f343f41..abc7911 100644
--- a/src/cowboy.erl
+++ b/src/cowboy.erl
@@ -17,6 +17,7 @@
-export([start_http/4]).
-export([start_https/4]).
+-export([start_spdy/4]).
-export([stop_listener/1]).
-export([set_env/3]).
@@ -38,7 +39,7 @@
%% @doc Start an HTTP listener.
-spec start_http(ranch:ref(), non_neg_integer(), ranch_tcp:opts(),
- cowboy_protocol:opts()) -> {ok, pid()}.
+ cowboy_protocol:opts()) -> {ok, pid()} | {error, any()}.
start_http(Ref, NbAcceptors, TransOpts, ProtoOpts)
when is_integer(NbAcceptors), NbAcceptors > 0 ->
ranch:start_listener(Ref, NbAcceptors,
@@ -46,12 +47,25 @@ start_http(Ref, NbAcceptors, TransOpts, ProtoOpts)
%% @doc Start an HTTPS listener.
-spec start_https(ranch:ref(), non_neg_integer(), ranch_ssl:opts(),
- cowboy_protocol:opts()) -> {ok, pid()}.
+ cowboy_protocol:opts()) -> {ok, pid()} | {error, any()}.
start_https(Ref, NbAcceptors, TransOpts, ProtoOpts)
when is_integer(NbAcceptors), NbAcceptors > 0 ->
ranch:start_listener(Ref, NbAcceptors,
ranch_ssl, TransOpts, cowboy_protocol, ProtoOpts).
+%% @doc Start a SPDY listener.
+-spec start_spdy(ranch:ref(), non_neg_integer(), ranch_ssl:opts(),
+ cowboy_spdy:opts()) -> {ok, pid()} | {error, any()}.
+start_spdy(Ref, NbAcceptors, TransOpts, ProtoOpts)
+ when is_integer(NbAcceptors), NbAcceptors > 0 ->
+ TransOpts2 = [
+ {connection_type, supervisor},
+ {next_protocols_advertised,
+ [<<"spdy/3">>, <<"http/1.1">>, <<"http/1.0">>]}
+ |TransOpts],
+ ranch:start_listener(Ref, NbAcceptors,
+ ranch_ssl, TransOpts2, cowboy_spdy, ProtoOpts).
+
%% @doc Stop a listener.
-spec stop_listener(ranch:ref()) -> ok.
stop_listener(Ref) ->