0
Fork 0
mirror of https://github.com/ninenines/cowboy.git synced 2025-07-14 12:20:24 +00:00

Fix ranch:start_tls when transport options are a map

This commit is contained in:
Loïc Hoguin 2018-10-02 10:03:09 +02:00
parent a428b10abf
commit d394eb7256
No known key found for this signature in database
GPG key ID: 8A9DF795F6FED764

View file

@ -52,11 +52,15 @@ start_clear(Ref, TransOpts0, ProtoOpts0) ->
-spec start_tls(ranch:ref(), ranch:opts(), opts())
-> {ok, pid()} | {error, any()}.
start_tls(Ref, TransOpts0, ProtoOpts0) ->
TransOpts1 = [
TransOpts1 = ranch:normalize_opts(TransOpts0),
SocketOpts = case TransOpts1 of
#{socket_opts := SocketOpts0} -> SocketOpts0;
_ -> []
end,
TransOpts2 = TransOpts1#{socket_opts => [
{next_protocols_advertised, [<<"h2">>, <<"http/1.1">>]},
{alpn_preferred_protocols, [<<"h2">>, <<"http/1.1">>]}
|TransOpts0],
TransOpts2 = ranch:normalize_opts(TransOpts1),
|SocketOpts]},
{TransOpts, ConnectionType} = ensure_connection_type(TransOpts2),
ProtoOpts = ProtoOpts0#{connection_type => ConnectionType},
ranch:start_listener(Ref, ranch_ssl, TransOpts, cowboy_tls, ProtoOpts).