From 9a29aea148c55d12ac9141bc8c60b2456b4ef42b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Hoguin?= Date: Fri, 27 Apr 2018 17:58:11 +0200 Subject: Add options controlling maximum h2 frame sizes --- doc/src/manual/cowboy_http2.asciidoc | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/src/manual/cowboy_http2.asciidoc b/doc/src/manual/cowboy_http2.asciidoc index 7151eb0..47aa012 100644 --- a/doc/src/manual/cowboy_http2.asciidoc +++ b/doc/src/manual/cowboy_http2.asciidoc @@ -26,6 +26,8 @@ opts() :: #{ 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(), shutdown_timeout => timeout(), @@ -84,6 +86,19 @@ max_encode_table_size (4096):: value to what the client advertises and choose the smallest one as the encoder's header table size. +max_frame_size_received (16384):: + Maximum size of the frames received by the server. This value is + advertised to the remote endpoint which can then decide to use + any value lower or equal for its frame sizes. + +max_frame_size_sent (infinity):: + Maximum size of the frames sent by the server. This option allows + setting an upper limit to the frame sizes instead of blindly + following the client's advertised maximum. ++ + Note that actual frame sizes may be lower than the limit when + there is not enough space left in the flow control window. + middlewares ([cowboy_router, cowboy_handler]):: Middlewares to run for every request. @@ -100,7 +115,8 @@ stream_handlers ([cowboy_stream_h]):: * *2.4*: Add the options `initial_connection_window_size`, `initial_stream_window_size`, `max_concurrent_streams`, - `max_decode_table_size` and `max_encode_table_size` + `max_decode_table_size`, `max_encode_table_size`, + `max_frame_size_received` and `max_frame_size_sent` to configure HTTP/2 SETTINGS. * *2.4*: Add the experimental option `enable_connect_protocol`. * *2.0*: Protocol introduced. -- cgit v1.2.3