Http2ClientProtocolConfig (webclient.http2) Configuration

Type: io.helidon.webclient.http2.Http2ClientProtocolConfig

Configuration options

Optional configuration options
keytypedefault valuedescription
flow-control-block-timeout

Duration

PT0.1S

Timeout for blocking between windows size check iterations.

@return timeout
initial-window-size

int

65535

Configure INITIAL_WINDOW_SIZE setting for new HTTP/2 connections. Sends to the server the size of the largest frame payload client is willing to receive. Defaults to io.helidon.http.http2.WindowSize#DEFAULT_WIN_SIZE.

@return units of octets
max-frame-size

int

16384

Configure initial MAX_FRAME_SIZE setting for new HTTP/2 connections. Maximum size of data frames in bytes the client is prepared to accept from the server. Default value is 2^14(16_384).

@return data frame size in bytes between 2^14(16_384) and 2^24-1(16_777_215)
max-header-list-size

long

-1

Configure initial MAX_HEADER_LIST_SIZE setting for new HTTP/2 connections. Sends to the server the maximum header field section size client is prepared to accept. Defaults to -1, which means "unconfigured".

@return units of octets
name

string

h2
ping

boolean

false

Check healthiness of cached connections with HTTP/2.0 ping frame. Defaults to false.

@return use ping if true
ping-timeout

Duration

PT0.5S

Timeout for ping probe used for checking healthiness of cached connections. Defaults to PT0.5S, which means 500 milliseconds.

@return timeout
prior-knowledge

boolean

false

Prior knowledge of HTTP/2 capabilities of the server. If server we are connecting to does not support HTTP/2 and prior knowledge is set to false, only features supported by HTTP/1 will be available and attempts to use HTTP/2 specific will throw an UnsupportedOperationException. <h4>Plain text connection</h4> If prior knowledge is set to true, we will not attempt an upgrade of connection and use prior knowledge. If prior knowledge is set to false, we will initiate an HTTP/1 connection and upgrade it to HTTP/2, if supported by the server. plaintext connection (h2c). <h4>TLS protected connection</h4> If prior knowledge is set to true, we will negotiate protocol using HTTP/2 only, failing if not supported. if prior knowledge is set to false, we will negotiate protocol using both HTTP/2 and HTTP/1, using the protocol supported by server.

@return whether to use prior knowledge of HTTP/2