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

Fix h2spec "invalid preface sequence" test

Introduce a currently undocumented option to allow disabling
cowboy_http when using a clear listener.
This commit is contained in:
Loïc Hoguin 2020-04-01 18:02:59 +02:00
parent bcef70818b
commit a8a2689727
No known key found for this signature in database
GPG key ID: 8A9DF795F6FED764
2 changed files with 12 additions and 1 deletions

View file

@ -41,7 +41,16 @@ connection_process(Parent, Ref, Transport, Opts) ->
undefined
end,
{ok, Socket} = ranch:handshake(Ref),
init(Parent, Ref, Socket, Transport, ProxyInfo, Opts, cowboy_http).
%% Use cowboy_http2 directly only when 'http' is missing.
%% Otherwise switch to cowboy_http2 from cowboy_http.
%%
%% @todo Extend this option to cowboy_tls and allow disabling
%% the switch to cowboy_http2 in cowboy_http. Also document it.
Protocol = case maps:get(protocols, Opts, [http2, http]) of
[http2] -> cowboy_http2;
[_|_] -> cowboy_http
end,
init(Parent, Ref, Socket, Transport, ProxyInfo, Opts, Protocol).
init(Parent, Ref, Socket, Transport, ProxyInfo, Opts, Protocol) ->
_ = case maps:get(connection_type, Opts, supervisor) of