All Downloads are FREE. Search and download functionalities are using the official Maven repository.

config.io_helidon_webclient_http2_Http2ClientProtocolConfig.adoc Maven / Gradle / Ivy

///////////////////////////////////////////////////////////////////////////////

    Copyright (c) 2023 Oracle and/or its affiliates.

    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
    You may obtain a copy of the License at

        http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.

///////////////////////////////////////////////////////////////////////////////

ifndef::rootdir[:rootdir: {docdir}/..]
:description: Configuration of io.helidon.webclient.http2.Http2ClientProtocolConfig
:keywords: helidon, config, io.helidon.webclient.http2.Http2ClientProtocolConfig
:basic-table-intro: The table below lists the configuration keys that configure io.helidon.webclient.http2.Http2ClientProtocolConfig
include::{rootdir}/includes/attributes.adoc[]

= Http2ClientProtocolConfig (webclient.http2) Configuration

// tag::config[]


Type: link:{javadoc-base-url}/io.helidon.webclient.http2/io/helidon/webclient/http2/Http2ClientProtocolConfig.html[io.helidon.webclient.http2.Http2ClientProtocolConfig]




== Configuration options



.Optional configuration options
[cols="3,3a,2,5a"]

|===
|key |type |default value |description

|`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.
 

Plain text connection

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`).

TLS protected connection

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 |=== // end::config[]




© 2015 - 2025 Weber Informatics LLC | Privacy Policy