= cowboy_http2(3) == Name cowboy_http2 - HTTP/2 == Description The module `cowboy_http2` implements HTTP/2 as a Ranch protocol. == Options // @todo Might be worth moving cowboy_clear/tls/stream_h options // to their respective manual, when they are added. [source,erlang] ---- opts() :: #{ connection_type => worker | supervisor, env => cowboy_middleware:env(), inactivity_timeout => timeout(), middlewares => [module()], preface_timeout => timeout(), shutdown_timeout => timeout(), stream_handlers => [module()] } ---- Configuration for the HTTP/2 protocol. This configuration is passed to Cowboy when starting listeners using `cowboy:start_clear/3` or `cowboy:start_tls/3` functions. It can be updated without restarting listeners using the Ranch functions `ranch:get_protocol_options/1` and `ranch:set_protocol_options/2`. The default value is given next to the option name: connection_type (supervisor):: Whether the connection process also acts as a supervisor. env (#{}):: Middleware environment. inactivity_timeout (300000):: Time in ms with nothing received at all before Cowboy closes the connection. middlewares ([cowboy_router, cowboy_handler]):: Middlewares to run for every request. preface_timeout (5000):: Time in ms Cowboy is willing to wait for the connection preface. shutdown_timeout (5000):: Time in ms Cowboy will wait for child processes to shut down before killing them. stream_handlers ([cowboy_stream_h]):: Ordered list of stream handlers that will handle all stream events. == Changelog * *2.0*: Protocol introduced. == See also link:man:cowboy(7)[cowboy(7)], link:man:cowboy_http(3)[cowboy_http(3)], link:man:cowboy_websocket(3)[cowboy_websocket(3)]