opts() :: #{ connection_type => worker | supervisor, enable_connect_protocol => boolean(), env => cowboy_middleware:env(), inactivity_timeout => timeout(), initial_connection_window_size => 65535..16#7fffffff, initial_stream_window_size => 0..16#7fffffff, max_concurrent_streams => non_neg_integer() | infinity, max_decode_table_size => non_neg_integer(), max_encode_table_size => non_neg_integer(), max_frame_size_received => 16384..16777215, max_frame_size_sent => 16384..16777215 | infinity, middlewares => [module()], preface_timeout => timeout(), settings_timeout => timeout(), shutdown_timeout => timeout(), stream_handlers => [module()] }