io.vertx.ext.web.client

## Class WebClientOptions

- java.lang.Object
- - io.vertx.core.net.NetworkOptions
  - - io.vertx.core.net.TCPSSLOptions
    - - io.vertx.core.net.ClientOptionsBase
      - - io.vertx.core.http.HttpClientOptions
        - - io.vertx.ext.web.client.WebClientOptions

- Direct Known Subclasses:
    CachingWebClientOptions, ConsulClientOptions

      public class WebClientOptions
      extends HttpClientOptions

  Author:
    Thomas Segismont

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static ExpandOptions` | `DEFAULT_EXPAND_OPTIONS`
    `static boolean` | `DEFAULT_FOLLOW_REDIRECTS` The default value of whether the Web Client should follow redirects = true.
    `static String` | `DEFAULT_USER_AGENT` The default user agent string = Vert.x-WebClient/<version>.
    `static boolean` | `DEFAULT_USER_AGENT_ENABLED` The default value of whether the Web Client should send a user agent header = true.

    - ### Fields inherited from class io.vertx.core.http.HttpClientOptions

      `DEFAULT_ALPN_VERSIONS, DEFAULT_DECODER_INITIAL_BUFFER_SIZE, DEFAULT_DECOMPRESSION_SUPPORTED, DEFAULT_DEFAULT_HOST, DEFAULT_DEFAULT_PORT, DEFAULT_FORCE_SNI, DEFAULT_HTTP2_CLEAR_TEXT_UPGRADE, DEFAULT_HTTP2_CLEAR_TEXT_UPGRADE_WITH_PREFLIGHT_REQUEST, DEFAULT_HTTP2_CONNECTION_WINDOW_SIZE, DEFAULT_HTTP2_KEEP_ALIVE_TIMEOUT, DEFAULT_HTTP2_MAX_POOL_SIZE, DEFAULT_HTTP2_MULTIPLEXING_LIMIT, DEFAULT_KEEP_ALIVE, DEFAULT_KEEP_ALIVE_TIMEOUT, DEFAULT_MAX_CHUNK_SIZE, DEFAULT_MAX_HEADER_SIZE, DEFAULT_MAX_INITIAL_LINE_LENGTH, DEFAULT_MAX_POOL_SIZE, DEFAULT_MAX_REDIRECTS, DEFAULT_MAX_WAIT_QUEUE_SIZE, DEFAULT_MAX_WEBSOCKET_FRAME_SIZE, DEFAULT_MAX_WEBSOCKET_MESSAGE_SIZE, DEFAULT_MAX_WEBSOCKETS, DEFAULT_NAME, DEFAULT_PIPELINING, DEFAULT_PIPELINING_LIMIT, DEFAULT_POOL_CLEANER_PERIOD, DEFAULT_POOL_EVENT_LOOP_SIZE, DEFAULT_PROTOCOL_VERSION, DEFAULT_SEND_UNMASKED_FRAMES, DEFAULT_SHARED, DEFAULT_TRACING_POLICY, DEFAULT_TRY_USE_COMPRESSION, DEFAULT_TRY_USE_PER_FRAME_WEBSOCKET_COMPRESSION, DEFAULT_TRY_USE_PER_MESSAGE_WEBSOCKET_COMPRESSION, DEFAULT_VERIFY_HOST, DEFAULT_WEBSOCKET_ALLOW_CLIENT_NO_CONTEXT, DEFAULT_WEBSOCKET_CLOSING_TIMEOUT, DEFAULT_WEBSOCKET_COMPRESSION_LEVEL, DEFAULT_WEBSOCKET_REQUEST_SERVER_NO_CONTEXT`

    - ### Fields inherited from class io.vertx.core.net.ClientOptionsBase

      `DEFAULT_CONNECT_TIMEOUT, DEFAULT_METRICS_NAME, DEFAULT_TRUST_ALL`

    - ### Fields inherited from class io.vertx.core.net.TCPSSLOptions

      `DEFAULT_ENABLED_SECURE_TRANSPORT_PROTOCOLS, DEFAULT_IDLE_TIMEOUT, DEFAULT_IDLE_TIMEOUT_TIME_UNIT, DEFAULT_READ_IDLE_TIMEOUT, DEFAULT_SO_LINGER, DEFAULT_SSL, DEFAULT_SSL_ENGINE, DEFAULT_SSL_HANDSHAKE_TIMEOUT, DEFAULT_SSL_HANDSHAKE_TIMEOUT_TIME_UNIT, DEFAULT_TCP_CORK, DEFAULT_TCP_FAST_OPEN, DEFAULT_TCP_KEEP_ALIVE, DEFAULT_TCP_NO_DELAY, DEFAULT_TCP_QUICKACK, DEFAULT_TCP_USER_TIMEOUT, DEFAULT_USE_ALPN, DEFAULT_WRITE_IDLE_TIMEOUT`

    - ### Fields inherited from class io.vertx.core.net.NetworkOptions

      `DEFAULT_LOG_ACTIVITY_FORMAT, DEFAULT_LOG_ENABLED, DEFAULT_RECEIVE_BUFFER_SIZE, DEFAULT_REUSE_ADDRESS, DEFAULT_REUSE_PORT, DEFAULT_SEND_BUFFER_SIZE, DEFAULT_TRAFFIC_CLASS`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `WebClientOptions()`
    `WebClientOptions(HttpClientOptions other)` Copy constructor using `HttpClientOptions`.
    `WebClientOptions(JsonObject json)` Creates a new instance from JSON.
    `WebClientOptions(WebClientOptions other)` Copy constructor.

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `WebClientOptions` | `addCrlPath(String crlPath)` Add a CRL path
    `WebClientOptions` | `addCrlValue(Buffer crlValue)` Add a CRL value
    `WebClientOptions` | `addEnabledCipherSuite(String suite)` Add an enabled cipher suite, appended to the ordered suites.
    `WebClientOptions` | `addEnabledSecureTransportProtocol(String protocol)` Add an enabled SSL/TLS protocols, appended to the ordered protocols.
    `WebClientOptions` | `addNonProxyHost(String nonProxyHost)` Add a `host` to the `ClientOptionsBase.getNonProxyHosts()` list.
    `ExpandOptions` | `getTemplateExpandOptions()`
    `String` | `getUserAgent()`
    `boolean` | `isFollowRedirects()`
    `boolean` | `isUserAgentEnabled()`
    `static String` | `loadUserAgent()`
    `WebClientOptions` | `removeEnabledSecureTransportProtocol(String protocol)` Removes an enabled SSL/TLS protocol from the ordered protocols.
    `WebClientOptions` | `setAlpnVersions(List<HttpVersion> alpnVersions)` Set the list of protocol versions to provide to the server during the Application-Layer Protocol Negotiation.
    `WebClientOptions` | `setConnectTimeout(int connectTimeout)` Set the connect timeout
    `WebClientOptions` | `setDecoderInitialBufferSize(int decoderInitialBufferSize)` set to `initialBufferSizeHttpDecoder` the initial buffer of the HttpDecoder.
    `WebClientOptions` | `setDecompressionSupported(boolean tryUseCompression)` Whether the client should send requests with an `accepting-encoding` header set to a compression algorithm.
    `WebClientOptions` | `setDefaultHost(String defaultHost)` Set the default host name to be used by this client in requests if none is provided when making the request.
    `WebClientOptions` | `setDefaultPort(int defaultPort)` Set the default port to be used by this client in requests if none is provided when making the request.
    `WebClientOptions` | `setEnabledSecureTransportProtocols(Set<String> enabledSecureTransportProtocols)` Sets the list of enabled SSL/TLS protocols.
    `WebClientOptions` | `setFollowRedirects(boolean followRedirects)` Configure the default behavior of the client to follow HTTP `30x` redirections.
    `WebClientOptions` | `setForceSni(boolean forceSni)` By default, the server name is only sent for Fully Qualified Domain Name (FQDN), setting this property to `true` forces the server name to be always sent.
    `WebClientOptions` | `setHttp2ClearTextUpgrade(boolean value)` Set to `true` when an h2c connection is established using an HTTP/1.1 upgrade request, and `false` when an h2c connection is established directly (with prior knowledge).
    `WebClientOptions` | `setHttp2ConnectionWindowSize(int http2ConnectionWindowSize)` Set the default HTTP/2 connection window size.
    `WebClientOptions` | `setHttp2KeepAliveTimeout(int keepAliveTimeout)` Set the keep alive timeout for HTTP/2 connections, in seconds.
    `WebClientOptions` | `setHttp2MaxPoolSize(int max)` Set the maximum pool size for HTTP/2 connections
    `WebClientOptions` | `setHttp2MultiplexingLimit(int limit)` Set a client limit of the number concurrent streams for each HTTP/2 connection, this limits the number of streams the client can create for a connection.
    `WebClientOptions` | `setIdleTimeout(int idleTimeout)` Set the idle timeout, default time unit is seconds.
    `WebClientOptions` | `setIdleTimeoutUnit(TimeUnit idleTimeoutUnit)` Set the idle timeout unit.
    `WebClientOptions` | `setInitialSettings(Http2Settings settings)` Set the HTTP/2 connection settings immediately sent by to the server when the client connects.
    `WebClientOptions` | `setJdkSslEngineOptions(JdkSSLEngineOptions sslEngineOptions)`
    `WebClientOptions` | `setKeepAlive(boolean keepAlive)` Set whether keep alive is enabled on the client
    `WebClientOptions` | `setKeepAliveTimeout(int keepAliveTimeout)` Set the keep alive timeout for HTTP/1.x, in seconds.
    `WebClientOptions` | `setKeyCertOptions(KeyCertOptions options)` Set the key/cert options.
    `WebClientOptions` | `setKeyStoreOptions(JksOptions options)` Set the key/cert options in jks format, aka Java keystore.
    `WebClientOptions` | `setLocalAddress(String localAddress)` Set the local interface to bind for network connections.
    `WebClientOptions` | `setLogActivity(boolean logEnabled)` Set to true to enabled network activity logging: Netty's pipeline is configured for logging on Netty's logger.
    `WebClientOptions` | `setMaxChunkSize(int maxChunkSize)` Set the maximum HTTP chunk size
    `WebClientOptions` | `setMaxHeaderSize(int maxHeaderSize)` Set the maximum length of all headers for HTTP/1.x .
    `WebClientOptions` | `setMaxInitialLineLength(int maxInitialLineLength)` Set the maximum length of the initial line for HTTP/1.x (e.g.
    `WebClientOptions` | `setMaxPoolSize(int maxPoolSize)` Set the maximum pool size for connections
    `WebClientOptions` | `setMaxRedirects(int maxRedirects)` Set to `maxRedirects` the maximum number of redirection a request can follow.
    `WebClientOptions` | `setMaxWaitQueueSize(int maxWaitQueueSize)` Set the maximum requests allowed in the wait queue, any requests beyond the max size will result in a ConnectionPoolTooBusyException.
    `WebClientOptions` | `setMaxWebSocketFrameSize(int maxWebsocketFrameSize)` Set the max WebSocket frame size
    `WebClientOptions` | `setMaxWebSocketMessageSize(int maxWebsocketMessageSize)` Set the max WebSocket message size
    `WebClientOptions` | `setMaxWebSockets(int maxWebSockets)` Set the max number of WebSockets per endpoint.
    `WebClientOptions` | `setMetricsName(String metricsName)` Set the metrics name identifying the reported metrics, useful for grouping metrics with the same name.
    `WebClientOptions` | `setName(String name)` Set the client name, used when the client is shared, otherwise ignored.
    `WebClientOptions` | `setNonProxyHosts(List<String> nonProxyHosts)` Set a list of remote hosts that are not proxied when the client is configured to use a proxy.
    `WebClientOptions` | `setOpenSslEngineOptions(OpenSSLEngineOptions sslEngineOptions)`
    `WebClientOptions` | `setPemKeyCertOptions(PemKeyCertOptions options)` Set the key/cert store options in pem format.
    `WebClientOptions` | `setPemTrustOptions(PemTrustOptions options)` Set the trust options in pem format
    `WebClientOptions` | `setPfxKeyCertOptions(PfxOptions options)` Set the key/cert options in pfx format.
    `WebClientOptions` | `setPfxTrustOptions(PfxOptions options)` Set the trust options in pfx format
    `WebClientOptions` | `setPipelining(boolean pipelining)` Set whether pipe-lining is enabled on the client
    `WebClientOptions` | `setPipeliningLimit(int limit)` Set the limit of pending requests a pipe-lined HTTP/1 connection can send.
    `WebClientOptions` | `setPoolCleanerPeriod(int poolCleanerPeriod)` Set the connection pool cleaner period in milli seconds, a non positive value disables expiration checks and connections will remain in the pool until they are closed.
    `WebClientOptions` | `setPoolEventLoopSize(int poolEventLoopSize)` Set the number of event-loop the pool use.
    `WebClientOptions` | `setProtocolVersion(HttpVersion protocolVersion)` Set the protocol version.
    `WebClientOptions` | `setProxyOptions(ProxyOptions proxyOptions)` Set proxy options for connections via CONNECT proxy (e.g.
    `WebClientOptions` | `setReadIdleTimeout(int idleTimeout)` Set the read idle timeout, default time unit is seconds.
    `WebClientOptions` | `setReceiveBufferSize(int receiveBufferSize)` Set the TCP receive buffer size
    `WebClientOptions` | `setReuseAddress(boolean reuseAddress)` Set the value of reuse address
    `WebClientOptions` | `setReusePort(boolean reusePort)` Set the value of reuse port.
    `WebClientOptions` | `setSendBufferSize(int sendBufferSize)` Set the TCP send buffer size
    `WebClientOptions` | `setSendUnmaskedFrames(boolean sendUnmaskedFrames)` Set `true` when the client wants to skip frame masking.
    `WebClientOptions` | `setShared(boolean shared)` Set to `true` to share the client.
    `WebClientOptions` | `setSoLinger(int soLinger)` Set whether SO_linger keep alive is enabled
    `WebClientOptions` | `setSsl(boolean ssl)` Set whether SSL/TLS is enabled
    `WebClientOptions` | `setSslEngineOptions(SSLEngineOptions sslEngineOptions)` Set to use SSL engine implementation to use.
    `WebClientOptions` | `setSslHandshakeTimeout(long sslHandshakeTimeout)` Set the SSL handshake timeout, default time unit is seconds.
    `WebClientOptions` | `setSslHandshakeTimeoutUnit(TimeUnit sslHandshakeTimeoutUnit)` Set the SSL handshake timeout unit.
    `WebClientOptions` | `setTcpCork(boolean tcpCork)` Enable the `TCP_CORK` option - only with linux native transport.
    `WebClientOptions` | `setTcpFastOpen(boolean tcpFastOpen)` Enable the `TCP_FASTOPEN` option - only with linux native transport.
    `WebClientOptions` | `setTcpKeepAlive(boolean tcpKeepAlive)` Set whether TCP keep alive is enabled
    `WebClientOptions` | `setTcpNoDelay(boolean tcpNoDelay)` Set whether TCP no delay is enabled
    `WebClientOptions` | `setTcpQuickAck(boolean tcpQuickAck)` Enable the `TCP_QUICKACK` option - only with linux native transport.
    `WebClientOptions` | `setTemplateExpandOptions(ExpandOptions templateExpandOptions)`
    `WebClientOptions` | `setTracingPolicy(TracingPolicy tracingPolicy)` Set the tracing policy for the client behavior when Vert.x has tracing enabled.
    `WebClientOptions` | `setTrafficClass(int trafficClass)` Set the value of traffic class
    `WebClientOptions` | `setTrustAll(boolean trustAll)` Set whether all server certificates should be trusted
    `WebClientOptions` | `setTrustOptions(TrustOptions options)` Set the trust options.
    `WebClientOptions` | `setTrustStoreOptions(JksOptions options)` Set the trust options in jks format, aka Java truststore
    `WebClientOptions` | `setTryUseCompression(boolean tryUseCompression)` Deprecated.
    `WebClientOptions` | `setTryUsePerFrameWebSocketCompression(boolean offer)` Set whether the client will offer the WebSocket per-frame deflate compression extension.
    `WebClientOptions` | `setTryUsePerMessageWebSocketCompression(boolean offer)` Set whether the client will offer the WebSocket per-message deflate compression extension.
    `WebClientOptions` | `setUseAlpn(boolean useAlpn)` Set the ALPN usage.
    `WebClientOptions` | `setUserAgent(String userAgent)` Sets the Web Client user agent header.
    `WebClientOptions` | `setUserAgentEnabled(boolean userAgentEnabled)` Sets whether the Web Client should send a user agent header.
    `WebClientOptions` | `setVerifyHost(boolean verifyHost)` Set whether hostname verification is enabled
    `WebClientOptions` | `setWebSocketClosingTimeout(int webSocketClosingTimeout)` Set the amount of time a client WebSocket will wait until it closes the TCP connection after receiving a close frame.
    `WebClientOptions` | `setWebSocketCompressionAllowClientNoContext(boolean offer)` Set whether the `client_no_context_takeover` parameter of the WebSocket per-message deflate compression extension will be offered.
    `WebClientOptions` | `setWebSocketCompressionLevel(int compressionLevel)` Set the WebSocket deflate compression level.
    `WebClientOptions` | `setWebSocketCompressionRequestServerNoContext(boolean offer)` Set whether the `server_no_context_takeover` parameter of the WebSocket per-message deflate compression extension will be offered.
    `WebClientOptions` | `setWriteIdleTimeout(int idleTimeout)` Set the write idle timeout, default time unit is seconds.
    `JsonObject` | `toJson()` Convert to JSON

    - ### Methods inherited from class io.vertx.core.http.HttpClientOptions

      `getAlpnVersions, getDecoderInitialBufferSize, getDefaultHost, getDefaultPort, getHttp2ConnectionWindowSize, getHttp2KeepAliveTimeout, getHttp2MaxPoolSize, getHttp2MultiplexingLimit, getInitialSettings, getKeepAliveTimeout, getMaxChunkSize, getMaxHeaderSize, getMaxInitialLineLength, getMaxPoolSize, getMaxRedirects, getMaxWaitQueueSize, getMaxWebSocketFrameSize, getMaxWebSocketMessageSize, getMaxWebSockets, getName, getPipeliningLimit, getPoolCleanerPeriod, getPoolEventLoopSize, getPoolOptions, getProtocolVersion, getTracingPolicy, getTryUsePerFrameWebSocketCompression, getTryUsePerMessageWebSocketCompression, getTryWebSocketDeflateFrameCompression, getWebSocketClosingTimeout, getWebSocketCompressionAllowClientNoContext, getWebSocketCompressionLevel, getWebSocketCompressionRequestServerNoContext, isDecompressionSupported, isForceSni, isHttp2ClearTextUpgrade, isHttp2ClearTextUpgradeWithPreflightRequest, isKeepAlive, isPipelining, isSendUnmaskedFrames, isShared, isTryUseCompression, isVerifyHost, removeEnabledCipherSuite, setActivityLogDataFormat, setHttp2ClearTextUpgradeWithPreflightRequest, setTcpUserTimeout`

    - ### Methods inherited from class io.vertx.core.net.ClientOptionsBase

      `getConnectTimeout, getLocalAddress, getMetricsName, getNonProxyHosts, getProxyOptions, isTrustAll`

    - ### Methods inherited from class io.vertx.core.net.TCPSSLOptions

      `getCrlPaths, getCrlValues, getEnabledCipherSuites, getEnabledSecureTransportProtocols, getIdleTimeout, getIdleTimeoutUnit, getJdkSslEngineOptions, getKeyCertOptions, getKeyStoreOptions, getOpenSslEngineOptions, getPemKeyCertOptions, getPemTrustOptions, getPfxKeyCertOptions, getPfxTrustOptions, getReadIdleTimeout, getSoLinger, getSslEngineOptions, getSslHandshakeTimeout, getSslHandshakeTimeoutUnit, getSslOptions, getTcpUserTimeout, getTrustOptions, getTrustStoreOptions, getWriteIdleTimeout, isSsl, isTcpCork, isTcpFastOpen, isTcpKeepAlive, isTcpNoDelay, isTcpQuickAck, isUseAlpn`

    - ### Methods inherited from class io.vertx.core.net.NetworkOptions

      `getActivityLogDataFormat, getLogActivity, getReceiveBufferSize, getSendBufferSize, getTrafficClass, isReuseAddress, isReusePort`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### DEFAULT_USER_AGENT_ENABLED

          public static final boolean DEFAULT_USER_AGENT_ENABLED

      The default value of whether the Web Client should send a user agent header = true.
      See Also:
        Constant Field Values

    - #### DEFAULT_USER_AGENT

          public static final String DEFAULT_USER_AGENT

      The default user agent string = Vert.x-WebClient/<version>.

    - #### DEFAULT_FOLLOW_REDIRECTS

          public static final boolean DEFAULT_FOLLOW_REDIRECTS

      The default value of whether the Web Client should follow redirects = true.
      See Also:
        Constant Field Values

    - #### DEFAULT_EXPAND_OPTIONS

          public static final ExpandOptions DEFAULT_EXPAND_OPTIONS

  - ### Constructor Detail

    - #### WebClientOptions

          public WebClientOptions()

    - #### WebClientOptions

          public WebClientOptions(WebClientOptions other)

      Copy constructor.
      Parameters:
        `other` - the options to copy

    - #### WebClientOptions

          public WebClientOptions(HttpClientOptions other)

      Copy constructor using `HttpClientOptions`.
      Parameters:
        `other` - the options to copy

    - #### WebClientOptions

          public WebClientOptions(JsonObject json)

      Creates a new instance from JSON.
      Parameters:
        `json` - the JSON object

  - ### Method Detail

    - #### toJson

          public JsonObject toJson()

      Convert to JSON
      Overrides:
        `toJson` in class `HttpClientOptions`
      Returns:
        the JSON

    - #### isUserAgentEnabled

          public boolean isUserAgentEnabled()

      Returns:
        true if the Web Client should send a user agent header, false otherwise

    - #### setUserAgentEnabled

          public WebClientOptions setUserAgentEnabled(boolean userAgentEnabled)

      Sets whether the Web Client should send a user agent header. Defaults to true.
      Parameters:
        `userAgentEnabled` - true to send a user agent header, false otherwise
      Returns:
        a reference to this, so the API can be used fluently

    - #### getUserAgent

          public String getUserAgent()

      Returns:
        the user agent header string

    - #### setUserAgent

          public WebClientOptions setUserAgent(String userAgent)

      Sets the Web Client user agent header. Defaults to Vert.x-WebClient/<version>.
      Parameters:
        `userAgent` - user agent header value
      Returns:
        a reference to this, so the API can be used fluently

    - #### isFollowRedirects

          public boolean isFollowRedirects()

      Returns:
        the default behavior of the client for following HTTP `30x` redirections

    - #### setFollowRedirects

          public WebClientOptions setFollowRedirects(boolean followRedirects)

      Configure the default behavior of the client to follow HTTP `30x` redirections.
      Parameters:
        `followRedirects` - true when a redirect is followed
      Returns:
        a reference to this, so the API can be used fluently

    - #### getTemplateExpandOptions

          public ExpandOptions getTemplateExpandOptions()

    - #### setTemplateExpandOptions

          public WebClientOptions setTemplateExpandOptions(ExpandOptions templateExpandOptions)

    - #### setMaxRedirects

          public WebClientOptions setMaxRedirects(int maxRedirects)

      Description copied from class: `HttpClientOptions`
      Set to `maxRedirects` the maximum number of redirection a request can follow.
      Overrides:
        `setMaxRedirects` in class `HttpClientOptions`
      Parameters:
        `maxRedirects` - the maximum number of redirection
      Returns:
        a reference to this, so the API can be used fluently

    - #### setSendBufferSize

          public WebClientOptions setSendBufferSize(int sendBufferSize)

      Description copied from class: `NetworkOptions`
      Set the TCP send buffer size
      Overrides:
        `setSendBufferSize` in class `HttpClientOptions`
      Parameters:
        `sendBufferSize` - the buffers size, in bytes
      Returns:
        a reference to this, so the API can be used fluently

    - #### setReceiveBufferSize

          public WebClientOptions setReceiveBufferSize(int receiveBufferSize)

      Description copied from class: `NetworkOptions`
      Set the TCP receive buffer size
      Overrides:
        `setReceiveBufferSize` in class `HttpClientOptions`
      Parameters:
        `receiveBufferSize` - the buffers size, in bytes
      Returns:
        a reference to this, so the API can be used fluently

    - #### setReuseAddress

          public WebClientOptions setReuseAddress(boolean reuseAddress)

      Description copied from class: `NetworkOptions`
      Set the value of reuse address
      Overrides:
        `setReuseAddress` in class `HttpClientOptions`
      Parameters:
        `reuseAddress` - the value of reuse address
      Returns:
        a reference to this, so the API can be used fluently

    - #### setTrafficClass

          public WebClientOptions setTrafficClass(int trafficClass)

      Description copied from class: `NetworkOptions`
      Set the value of traffic class
      Overrides:
        `setTrafficClass` in class `HttpClientOptions`
      Parameters:
        `trafficClass` - the value of traffic class
      Returns:
        a reference to this, so the API can be used fluently

    - #### setTcpNoDelay

          public WebClientOptions setTcpNoDelay(boolean tcpNoDelay)

      Description copied from class: `TCPSSLOptions`
      Set whether TCP no delay is enabled
      Overrides:
        `setTcpNoDelay` in class `HttpClientOptions`
      Parameters:
        `tcpNoDelay` - true if TCP no delay is enabled (Nagle disabled)
      Returns:
        a reference to this, so the API can be used fluently

    - #### setTcpKeepAlive

          public WebClientOptions setTcpKeepAlive(boolean tcpKeepAlive)

      Description copied from class: `TCPSSLOptions`
      Set whether TCP keep alive is enabled
      Overrides:
        `setTcpKeepAlive` in class `HttpClientOptions`
      Parameters:
        `tcpKeepAlive` - true if TCP keep alive is enabled
      Returns:
        a reference to this, so the API can be used fluently

    - #### setSoLinger

          public WebClientOptions setSoLinger(int soLinger)

      Description copied from class: `TCPSSLOptions`
      Set whether SO_linger keep alive is enabled
      Overrides:
        `setSoLinger` in class `HttpClientOptions`
      Parameters:
        `soLinger` - true if SO_linger is enabled
      Returns:
        a reference to this, so the API can be used fluently

    - #### setIdleTimeout

          public WebClientOptions setIdleTimeout(int idleTimeout)

      Description copied from class: `TCPSSLOptions`
      Set the idle timeout, default time unit is seconds. Zero means don't timeout. This determines if a connection will timeout and be closed if no data is received nor sent within the timeout. If you want change default time unit, use `TCPSSLOptions.setIdleTimeoutUnit(TimeUnit)`
      Overrides:
        `setIdleTimeout` in class `HttpClientOptions`
      Parameters:
        `idleTimeout` - the timeout
      Returns:
        a reference to this, so the API can be used fluently

    - #### setIdleTimeoutUnit

          public WebClientOptions setIdleTimeoutUnit(TimeUnit idleTimeoutUnit)

      Description copied from class: `TCPSSLOptions`
      Set the idle timeout unit. If not specified, default is seconds.
      Overrides:
        `setIdleTimeoutUnit` in class `HttpClientOptions`
      Parameters:
        `idleTimeoutUnit` - specify time unit.
      Returns:
        a reference to this, so the API can be used fluently

    - #### setSsl

          public WebClientOptions setSsl(boolean ssl)

      Description copied from class: `TCPSSLOptions`
      Set whether SSL/TLS is enabled
      Overrides:
        `setSsl` in class `HttpClientOptions`
      Parameters:
        `ssl` - true if enabled
      Returns:
        a reference to this, so the API can be used fluently

    - #### setKeyCertOptions

          public WebClientOptions setKeyCertOptions(KeyCertOptions options)

      Description copied from class: `TCPSSLOptions`
      Set the key/cert options.
      Overrides:
        `setKeyCertOptions` in class `HttpClientOptions`
      Parameters:
        `options` - the key store options
      Returns:
        a reference to this, so the API can be used fluently

    - #### setKeyStoreOptions

          public WebClientOptions setKeyStoreOptions(JksOptions options)

      Description copied from class: `TCPSSLOptions`
      Set the key/cert options in jks format, aka Java keystore.
      Overrides:
        `setKeyStoreOptions` in class `HttpClientOptions`
      Parameters:
        `options` - the key store in jks format
      Returns:
        a reference to this, so the API can be used fluently

    - #### setPfxKeyCertOptions

          public WebClientOptions setPfxKeyCertOptions(PfxOptions options)

      Description copied from class: `TCPSSLOptions`
      Set the key/cert options in pfx format.
      Overrides:
        `setPfxKeyCertOptions` in class `HttpClientOptions`
      Parameters:
        `options` - the key cert options in pfx format
      Returns:
        a reference to this, so the API can be used fluently

    - #### setTrustOptions

          public WebClientOptions setTrustOptions(TrustOptions options)

      Description copied from class: `TCPSSLOptions`
      Set the trust options.
      Overrides:
        `setTrustOptions` in class `HttpClientOptions`
      Parameters:
        `options` - the trust options
      Returns:
        a reference to this, so the API can be used fluently

    - #### setPemKeyCertOptions

          public WebClientOptions setPemKeyCertOptions(PemKeyCertOptions options)

      Description copied from class: `TCPSSLOptions`
      Set the key/cert store options in pem format.
      Overrides:
        `setPemKeyCertOptions` in class `HttpClientOptions`
      Parameters:
        `options` - the options in pem format
      Returns:
        a reference to this, so the API can be used fluently

    - #### setTrustStoreOptions

          public WebClientOptions setTrustStoreOptions(JksOptions options)

      Description copied from class: `TCPSSLOptions`
      Set the trust options in jks format, aka Java truststore
      Overrides:
        `setTrustStoreOptions` in class `HttpClientOptions`
      Parameters:
        `options` - the trust options in jks format
      Returns:
        a reference to this, so the API can be used fluently

    - #### setPfxTrustOptions

          public WebClientOptions setPfxTrustOptions(PfxOptions options)

      Description copied from class: `TCPSSLOptions`
      Set the trust options in pfx format
      Overrides:
        `setPfxTrustOptions` in class `HttpClientOptions`
      Parameters:
        `options` - the trust options in pfx format
      Returns:
        a reference to this, so the API can be used fluently

    - #### setPemTrustOptions

          public WebClientOptions setPemTrustOptions(PemTrustOptions options)

      Description copied from class: `TCPSSLOptions`
      Set the trust options in pem format
      Overrides:
        `setPemTrustOptions` in class `HttpClientOptions`
      Parameters:
        `options` - the trust options in pem format
      Returns:
        a reference to this, so the API can be used fluently

    - #### addEnabledCipherSuite

          public WebClientOptions addEnabledCipherSuite(String suite)

      Description copied from class: `TCPSSLOptions`
      Add an enabled cipher suite, appended to the ordered suites.
      Overrides:
        `addEnabledCipherSuite` in class `HttpClientOptions`
      Parameters:
        `suite` - the suite
      Returns:
        a reference to this, so the API can be used fluently
      See Also:
        `TCPSSLOptions.getEnabledCipherSuites()`

    - #### addCrlPath

          public WebClientOptions addCrlPath(String crlPath)
                                      throws NullPointerException

      Description copied from class: `TCPSSLOptions`
      Add a CRL path
      Overrides:
        `addCrlPath` in class `HttpClientOptions`
      Parameters:
        `crlPath` - the path
      Returns:
        a reference to this, so the API can be used fluently
      Throws:
        `NullPointerException`

    - #### addCrlValue

          public WebClientOptions addCrlValue(Buffer crlValue)
                                       throws NullPointerException

      Description copied from class: `TCPSSLOptions`
      Add a CRL value
      Overrides:
        `addCrlValue` in class `HttpClientOptions`
      Parameters:
        `crlValue` - the value
      Returns:
        a reference to this, so the API can be used fluently
      Throws:
        `NullPointerException`

    - #### setConnectTimeout

          public WebClientOptions setConnectTimeout(int connectTimeout)

      Description copied from class: `ClientOptionsBase`
      Set the connect timeout
      Overrides:
        `setConnectTimeout` in class `HttpClientOptions`
      Parameters:
        `connectTimeout` - connect timeout, in ms
      Returns:
        a reference to this, so the API can be used fluently

    - #### setTrustAll

          public WebClientOptions setTrustAll(boolean trustAll)

      Description copied from class: `ClientOptionsBase`
      Set whether all server certificates should be trusted
      Overrides:
        `setTrustAll` in class `HttpClientOptions`
      Parameters:
        `trustAll` - true if all should be trusted
      Returns:
        a reference to this, so the API can be used fluently

    - #### setMaxPoolSize

          public WebClientOptions setMaxPoolSize(int maxPoolSize)

      Description copied from class: `HttpClientOptions`
      Set the maximum pool size for connections
      Overrides:
        `setMaxPoolSize` in class `HttpClientOptions`
      Parameters:
        `maxPoolSize` - the maximum pool size
      Returns:
        a reference to this, so the API can be used fluently

    - #### setHttp2MultiplexingLimit

          public WebClientOptions setHttp2MultiplexingLimit(int limit)

      Description copied from class: `HttpClientOptions`
      Set a client limit of the number concurrent streams for each HTTP/2 connection, this limits the number of streams the client can create for a connection. The effective number of streams for a connection is the min of this value and the server's initial settings.

      Setting the value to `-1` means to use the value sent by the server's initial settings. `-1` is the default value.
      Overrides:
        `setHttp2MultiplexingLimit` in class `HttpClientOptions`
      Parameters:
        `limit` - the maximum concurrent for an HTTP/2 connection
      Returns:
        a reference to this, so the API can be used fluently

    - #### setHttp2MaxPoolSize

          public WebClientOptions setHttp2MaxPoolSize(int max)

      Description copied from class: `HttpClientOptions`
      Set the maximum pool size for HTTP/2 connections
      Overrides:
        `setHttp2MaxPoolSize` in class `HttpClientOptions`
      Parameters:
        `max` - the maximum pool size
      Returns:
        a reference to this, so the API can be used fluently

    - #### setHttp2ConnectionWindowSize

          public WebClientOptions setHttp2ConnectionWindowSize(int http2ConnectionWindowSize)

      Description copied from class: `HttpClientOptions`
      Set the default HTTP/2 connection window size. It overrides the initial window size set by `Http2Settings.getInitialWindowSize()`, so the connection window size is greater than for its streams, in order the data throughput.

      A value of `-1` reuses the initial window size setting.
      Overrides:
        `setHttp2ConnectionWindowSize` in class `HttpClientOptions`
      Parameters:
        `http2ConnectionWindowSize` - the window size applied to the connection
      Returns:
        a reference to this, so the API can be used fluently

    - #### setKeepAlive

          public WebClientOptions setKeepAlive(boolean keepAlive)

      Description copied from class: `HttpClientOptions`
      Set whether keep alive is enabled on the client
      Overrides:
        `setKeepAlive` in class `HttpClientOptions`
      Parameters:
        `keepAlive` - `true` if enabled
      Returns:
        a reference to this, so the API can be used fluently

    - #### setPipelining

          public WebClientOptions setPipelining(boolean pipelining)

      Description copied from class: `HttpClientOptions`
      Set whether pipe-lining is enabled on the client
      Overrides:
        `setPipelining` in class `HttpClientOptions`
      Parameters:
        `pipelining` - `true` if enabled
      Returns:
        a reference to this, so the API can be used fluently

    - #### setPipeliningLimit

          public WebClientOptions setPipeliningLimit(int limit)

      Description copied from class: `HttpClientOptions`
      Set the limit of pending requests a pipe-lined HTTP/1 connection can send.
      Overrides:
        `setPipeliningLimit` in class `HttpClientOptions`
      Parameters:
        `limit` - the limit of pending requests
      Returns:
        a reference to this, so the API can be used fluently

    - #### setVerifyHost

          public WebClientOptions setVerifyHost(boolean verifyHost)

      Description copied from class: `HttpClientOptions`
      Set whether hostname verification is enabled
      Overrides:
        `setVerifyHost` in class `HttpClientOptions`
      Parameters:
        `verifyHost` - `true` if enabled
      Returns:
        a reference to this, so the API can be used fluently

    - #### setTryUseCompression

          @Deprecated
          public WebClientOptions setTryUseCompression(boolean tryUseCompression)

      Deprecated.
      Description copied from class: `HttpClientOptions`
      Set whether compression is enabled
      Overrides:
        `setTryUseCompression` in class `HttpClientOptions`
      Parameters:
        `tryUseCompression` - `true` if enabled
      Returns:
        a reference to this, so the API can be used fluently

    - #### setDecompressionSupported

          public WebClientOptions setDecompressionSupported(boolean tryUseCompression)

      Description copied from class: `HttpClientOptions`
      Whether the client should send requests with an `accepting-encoding` header set to a compression algorithm.
      Overrides:
        `setDecompressionSupported` in class `HttpClientOptions`
      Parameters:
        `tryUseCompression` - `true` if the client should send a request with an `accepting-encoding` header set to a compression algorithm, `false` otherwise
      Returns:
        a reference to this, so the API can be used fluently

    - #### setSendUnmaskedFrames

          public WebClientOptions setSendUnmaskedFrames(boolean sendUnmaskedFrames)

      Description copied from class: `HttpClientOptions`
      Set `true` when the client wants to skip frame masking.

      You may want to set it `true` on server by server WebSocket communication: in this case you are by passing RFC6455 protocol.

      It's `false` as default.

      Overrides:
        `setSendUnmaskedFrames` in class `HttpClientOptions`
      Parameters:
        `sendUnmaskedFrames` - true if enabled
      Returns:
        a reference to this, so the API can be used fluently

    - #### setMaxWebSocketFrameSize

          public WebClientOptions setMaxWebSocketFrameSize(int maxWebsocketFrameSize)

      Description copied from class: `HttpClientOptions`
      Set the max WebSocket frame size
      Overrides:
        `setMaxWebSocketFrameSize` in class `HttpClientOptions`
      Parameters:
        `maxWebsocketFrameSize` - the max frame size, in bytes
      Returns:
        a reference to this, so the API can be used fluently

    - #### setDefaultHost

          public WebClientOptions setDefaultHost(String defaultHost)

      Description copied from class: `HttpClientOptions`
      Set the default host name to be used by this client in requests if none is provided when making the request.
      Overrides:
        `setDefaultHost` in class `HttpClientOptions`
      Returns:
        a reference to this, so the API can be used fluently

    - #### setDefaultPort

          public WebClientOptions setDefaultPort(int defaultPort)

      Description copied from class: `HttpClientOptions`
      Set the default port to be used by this client in requests if none is provided when making the request.
      Overrides:
        `setDefaultPort` in class `HttpClientOptions`
      Returns:
        a reference to this, so the API can be used fluently

    - #### setMaxChunkSize

          public WebClientOptions setMaxChunkSize(int maxChunkSize)

      Description copied from class: `HttpClientOptions`
      Set the maximum HTTP chunk size
      Overrides:
        `setMaxChunkSize` in class `HttpClientOptions`
      Parameters:
        `maxChunkSize` - the maximum chunk size
      Returns:
        a reference to this, so the API can be used fluently

    - #### setProtocolVersion

          public WebClientOptions setProtocolVersion(HttpVersion protocolVersion)

      Description copied from class: `HttpClientOptions`
      Set the protocol version.
      Overrides:
        `setProtocolVersion` in class `HttpClientOptions`
      Parameters:
        `protocolVersion` - the protocol version
      Returns:
        a reference to this, so the API can be used fluently

    - #### setMaxHeaderSize

          public WebClientOptions setMaxHeaderSize(int maxHeaderSize)

      Description copied from class: `HttpClientOptions`
      Set the maximum length of all headers for HTTP/1.x .
      Overrides:
        `setMaxHeaderSize` in class `HttpClientOptions`
      Parameters:
        `maxHeaderSize` - the new maximum length
      Returns:
        a reference to this, so the API can be used fluently

    - #### setMaxWaitQueueSize

          public WebClientOptions setMaxWaitQueueSize(int maxWaitQueueSize)

      Description copied from class: `HttpClientOptions`
      Set the maximum requests allowed in the wait queue, any requests beyond the max size will result in a ConnectionPoolTooBusyException. If the value is set to a negative number then the queue will be unbounded.
      Overrides:
        `setMaxWaitQueueSize` in class `HttpClientOptions`
      Parameters:
        `maxWaitQueueSize` - the maximum number of waiting requests
      Returns:
        a reference to this, so the API can be used fluently

    - #### setUseAlpn

          public WebClientOptions setUseAlpn(boolean useAlpn)

      Description copied from class: `TCPSSLOptions`
      Set the ALPN usage.
      Overrides:
        `setUseAlpn` in class `HttpClientOptions`
      Parameters:
        `useAlpn` - true when Application-Layer Protocol Negotiation should be used

    - #### setSslEngineOptions

          public WebClientOptions setSslEngineOptions(SSLEngineOptions sslEngineOptions)

      Description copied from class: `TCPSSLOptions`
      Set to use SSL engine implementation to use.
      Overrides:
        `setSslEngineOptions` in class `HttpClientOptions`
      Parameters:
        `sslEngineOptions` - the ssl engine to use
      Returns:
        a reference to this, so the API can be used fluently

    - #### setJdkSslEngineOptions

          public WebClientOptions setJdkSslEngineOptions(JdkSSLEngineOptions sslEngineOptions)

      Overrides:
        `setJdkSslEngineOptions` in class `HttpClientOptions`

    - #### setOpenSslEngineOptions

          public WebClientOptions setOpenSslEngineOptions(OpenSSLEngineOptions sslEngineOptions)

      Overrides:
        `setOpenSslEngineOptions` in class `HttpClientOptions`

    - #### setHttp2ClearTextUpgrade

          public WebClientOptions setHttp2ClearTextUpgrade(boolean value)

      Description copied from class: `HttpClientOptions`
      Set to `true` when an h2c connection is established using an HTTP/1.1 upgrade request, and `false` when an h2c connection is established directly (with prior knowledge).
      Overrides:
        `setHttp2ClearTextUpgrade` in class `HttpClientOptions`
      Parameters:
        `value` - the upgrade value
      Returns:
        a reference to this, so the API can be used fluently

    - #### setAlpnVersions

          public WebClientOptions setAlpnVersions(List<HttpVersion> alpnVersions)

      Description copied from class: `HttpClientOptions`
      Set the list of protocol versions to provide to the server during the Application-Layer Protocol Negotiation. When the list is empty, the client provides a best effort list according to `HttpClientOptions.setProtocolVersion(io.vertx.core.http.HttpVersion)`:
      - `HttpVersion.HTTP_2`: [ "h2", "http/1.1" ]
      - otherwise: [`HttpClientOptions.getProtocolVersion()`]
      Overrides:
        `setAlpnVersions` in class `HttpClientOptions`
      Parameters:
        `alpnVersions` - the versions
      Returns:
        a reference to this, so the API can be used fluently

    - #### setMetricsName

          public WebClientOptions setMetricsName(String metricsName)

      Description copied from class: `ClientOptionsBase`
      Set the metrics name identifying the reported metrics, useful for grouping metrics with the same name.
      Overrides:
        `setMetricsName` in class `HttpClientOptions`
      Parameters:
        `metricsName` - the metrics name
      Returns:
        a reference to this, so the API can be used fluently

    - #### setProxyOptions

          public WebClientOptions setProxyOptions(ProxyOptions proxyOptions)

      Description copied from class: `ClientOptionsBase`
      Set proxy options for connections via CONNECT proxy (e.g. Squid) or a SOCKS proxy.
      Overrides:
        `setProxyOptions` in class `HttpClientOptions`
      Parameters:
        `proxyOptions` - proxy options object
      Returns:
        a reference to this, so the API can be used fluently

    - #### setLocalAddress

          public WebClientOptions setLocalAddress(String localAddress)

      Description copied from class: `ClientOptionsBase`
      Set the local interface to bind for network connections. When the local address is null, it will pick any local address, the default local address is null.
      Overrides:
        `setLocalAddress` in class `HttpClientOptions`
      Parameters:
        `localAddress` - the local address
      Returns:
        a reference to this, so the API can be used fluently

    - #### setLogActivity

          public WebClientOptions setLogActivity(boolean logEnabled)

      Description copied from class: `NetworkOptions`
      Set to true to enabled network activity logging: Netty's pipeline is configured for logging on Netty's logger.
      Overrides:
        `setLogActivity` in class `HttpClientOptions`
      Parameters:
        `logEnabled` - true for logging the network activity
      Returns:
        a reference to this, so the API can be used fluently

    - #### addEnabledSecureTransportProtocol

          public WebClientOptions addEnabledSecureTransportProtocol(String protocol)

      Description copied from class: `TCPSSLOptions`
      Add an enabled SSL/TLS protocols, appended to the ordered protocols.
      Overrides:
        `addEnabledSecureTransportProtocol` in class `HttpClientOptions`
      Parameters:
        `protocol` - the SSL/TLS protocol to enable
      Returns:
        a reference to this, so the API can be used fluently

    - #### removeEnabledSecureTransportProtocol

          public WebClientOptions removeEnabledSecureTransportProtocol(String protocol)

      Description copied from class: `TCPSSLOptions`
      Removes an enabled SSL/TLS protocol from the ordered protocols.
      Overrides:
        `removeEnabledSecureTransportProtocol` in class `HttpClientOptions`
      Parameters:
        `protocol` - the SSL/TLS protocol to disable
      Returns:
        a reference to this, so the API can be used fluently

    - #### setEnabledSecureTransportProtocols

          public WebClientOptions setEnabledSecureTransportProtocols(Set<String> enabledSecureTransportProtocols)

      Description copied from class: `TCPSSLOptions`
      Sets the list of enabled SSL/TLS protocols.
      Overrides:
        `setEnabledSecureTransportProtocols` in class `HttpClientOptions`
      Parameters:
        `enabledSecureTransportProtocols` - the SSL/TLS protocols to enable
      Returns:
        a reference to this, so the API can be used fluently

    - #### setReusePort

          public WebClientOptions setReusePort(boolean reusePort)

      Description copied from class: `NetworkOptions`
      Set the value of reuse port.

      This is only supported by native transports.
      Overrides:
        `setReusePort` in class `HttpClientOptions`
      Parameters:
        `reusePort` - the value of reuse port
      Returns:
        a reference to this, so the API can be used fluently

    - #### setTcpFastOpen

          public WebClientOptions setTcpFastOpen(boolean tcpFastOpen)

      Description copied from class: `TCPSSLOptions`
      Enable the `TCP_FASTOPEN` option - only with linux native transport.
      Overrides:
        `setTcpFastOpen` in class `HttpClientOptions`
      Parameters:
        `tcpFastOpen` - the fast open value

    - #### setTcpCork

          public WebClientOptions setTcpCork(boolean tcpCork)

      Description copied from class: `TCPSSLOptions`
      Enable the `TCP_CORK` option - only with linux native transport.
      Overrides:
        `setTcpCork` in class `HttpClientOptions`
      Parameters:
        `tcpCork` - the cork value

    - #### setTcpQuickAck

          public WebClientOptions setTcpQuickAck(boolean tcpQuickAck)

      Description copied from class: `TCPSSLOptions`
      Enable the `TCP_QUICKACK` option - only with linux native transport.
      Overrides:
        `setTcpQuickAck` in class `HttpClientOptions`
      Parameters:
        `tcpQuickAck` - the quick ack value

    - #### setHttp2KeepAliveTimeout

          public WebClientOptions setHttp2KeepAliveTimeout(int keepAliveTimeout)

      Description copied from class: `HttpClientOptions`
      Set the keep alive timeout for HTTP/2 connections, in seconds.

      This value determines how long a connection remains unused in the pool before being evicted and closed.

      A timeout of `0` means there is no timeout.
      Overrides:
        `setHttp2KeepAliveTimeout` in class `HttpClientOptions`
      Parameters:
        `keepAliveTimeout` - the timeout, in seconds
      Returns:
        a reference to this, so the API can be used fluently

    - #### setForceSni

          public WebClientOptions setForceSni(boolean forceSni)

      Description copied from class: `HttpClientOptions`
      By default, the server name is only sent for Fully Qualified Domain Name (FQDN), setting this property to `true` forces the server name to be always sent.
      Overrides:
        `setForceSni` in class `HttpClientOptions`
      Parameters:
        `forceSni` - `true` when the client should always use SNI on TLS/SSL connections
      Returns:
        a reference to this, so the API can be used fluently

    - #### setDecoderInitialBufferSize

          public WebClientOptions setDecoderInitialBufferSize(int decoderInitialBufferSize)

      Description copied from class: `HttpClientOptions`
      set to `initialBufferSizeHttpDecoder` the initial buffer of the HttpDecoder.
      Overrides:
        `setDecoderInitialBufferSize` in class `HttpClientOptions`
      Parameters:
        `decoderInitialBufferSize` - the initial buffer size
      Returns:
        a reference to this, so the API can be used fluently

    - #### setPoolCleanerPeriod

          public WebClientOptions setPoolCleanerPeriod(int poolCleanerPeriod)

      Description copied from class: `HttpClientOptions`
      Set the connection pool cleaner period in milli seconds, a non positive value disables expiration checks and connections will remain in the pool until they are closed.
      Overrides:
        `setPoolCleanerPeriod` in class `HttpClientOptions`
      Parameters:
        `poolCleanerPeriod` - the pool cleaner period
      Returns:
        a reference to this, so the API can be used fluently

    - #### setKeepAliveTimeout

          public WebClientOptions setKeepAliveTimeout(int keepAliveTimeout)

      Description copied from class: `HttpClientOptions`
      Set the keep alive timeout for HTTP/1.x, in seconds.

      This value determines how long a connection remains unused in the pool before being evicted and closed.

      A timeout of `0` means there is no timeout.
      Overrides:
        `setKeepAliveTimeout` in class `HttpClientOptions`
      Parameters:
        `keepAliveTimeout` - the timeout, in seconds
      Returns:
        a reference to this, so the API can be used fluently

    - #### setMaxWebSocketMessageSize

          public WebClientOptions setMaxWebSocketMessageSize(int maxWebsocketMessageSize)

      Description copied from class: `HttpClientOptions`
      Set the max WebSocket message size
      Overrides:
        `setMaxWebSocketMessageSize` in class `HttpClientOptions`
      Parameters:
        `maxWebsocketMessageSize` - the max message size, in bytes
      Returns:
        a reference to this, so the API can be used fluently

    - #### setMaxInitialLineLength

          public WebClientOptions setMaxInitialLineLength(int maxInitialLineLength)

      Description copied from class: `HttpClientOptions`
      Set the maximum length of the initial line for HTTP/1.x (e.g. `"HTTP/1.1 200 OK"`)
      Overrides:
        `setMaxInitialLineLength` in class `HttpClientOptions`
      Parameters:
        `maxInitialLineLength` - the new maximum initial length
      Returns:
        a reference to this, so the API can be used fluently

    - #### setInitialSettings

          public WebClientOptions setInitialSettings(Http2Settings settings)

      Description copied from class: `HttpClientOptions`
      Set the HTTP/2 connection settings immediately sent by to the server when the client connects.
      Overrides:
        `setInitialSettings` in class `HttpClientOptions`
      Parameters:
        `settings` - the settings value
      Returns:
        a reference to this, so the API can be used fluently

    - #### setSslHandshakeTimeout

          public WebClientOptions setSslHandshakeTimeout(long sslHandshakeTimeout)

      Description copied from class: `TCPSSLOptions`
      Set the SSL handshake timeout, default time unit is seconds.
      Overrides:
        `setSslHandshakeTimeout` in class `HttpClientOptions`
      Parameters:
        `sslHandshakeTimeout` - the SSL handshake timeout to set, in milliseconds
      Returns:
        a reference to this, so the API can be used fluently

    - #### setSslHandshakeTimeoutUnit

          public WebClientOptions setSslHandshakeTimeoutUnit(TimeUnit sslHandshakeTimeoutUnit)

      Description copied from class: `TCPSSLOptions`
      Set the SSL handshake timeout unit. If not specified, default is seconds.
      Overrides:
        `setSslHandshakeTimeoutUnit` in class `HttpClientOptions`
      Parameters:
        `sslHandshakeTimeoutUnit` - specify time unit.
      Returns:
        a reference to this, so the API can be used fluently

    - #### setTryUsePerFrameWebSocketCompression

          public WebClientOptions setTryUsePerFrameWebSocketCompression(boolean offer)

      Description copied from class: `HttpClientOptions`
      Set whether the client will offer the WebSocket per-frame deflate compression extension.
      Overrides:
        `setTryUsePerFrameWebSocketCompression` in class `HttpClientOptions`
      Parameters:
        `offer` - `true` to offer the per-frame deflate compression extension
      Returns:
        a reference to this, so the API can be used fluently

    - #### setTryUsePerMessageWebSocketCompression

          public WebClientOptions setTryUsePerMessageWebSocketCompression(boolean offer)

      Description copied from class: `HttpClientOptions`
      Set whether the client will offer the WebSocket per-message deflate compression extension.
      Overrides:
        `setTryUsePerMessageWebSocketCompression` in class `HttpClientOptions`
      Parameters:
        `offer` - `true` to offer the per-message deflate compression extension
      Returns:
        a reference to this, so the API can be used fluently

    - #### setWebSocketCompressionLevel

          public WebClientOptions setWebSocketCompressionLevel(int compressionLevel)

      Description copied from class: `HttpClientOptions`
      Set the WebSocket deflate compression level.
      Overrides:
        `setWebSocketCompressionLevel` in class `HttpClientOptions`
      Parameters:
        `compressionLevel` - the WebSocket deflate compression level
      Returns:
        a reference to this, so the API can be used fluently

    - #### setWebSocketCompressionAllowClientNoContext

          public WebClientOptions setWebSocketCompressionAllowClientNoContext(boolean offer)

      Description copied from class: `HttpClientOptions`
      Set whether the `client_no_context_takeover` parameter of the WebSocket per-message deflate compression extension will be offered.
      Overrides:
        `setWebSocketCompressionAllowClientNoContext` in class `HttpClientOptions`
      Parameters:
        `offer` - `true` to offer the `client_no_context_takeover` parameter
      Returns:
        a reference to this, so the API can be used fluently

    - #### setWebSocketCompressionRequestServerNoContext

          public WebClientOptions setWebSocketCompressionRequestServerNoContext(boolean offer)

      Description copied from class: `HttpClientOptions`
      Set whether the `server_no_context_takeover` parameter of the WebSocket per-message deflate compression extension will be offered.
      Overrides:
        `setWebSocketCompressionRequestServerNoContext` in class `HttpClientOptions`
      Parameters:
        `offer` - `true` to offer the `server_no_context_takeover` parameter
      Returns:
        a reference to this, so the API can be used fluently

    - #### setReadIdleTimeout

          public WebClientOptions setReadIdleTimeout(int idleTimeout)

      Description copied from class: `TCPSSLOptions`
      Set the read idle timeout, default time unit is seconds. Zero means don't timeout. This determines if a connection will timeout and be closed if no data is received within the timeout. If you want change default time unit, use `TCPSSLOptions.setIdleTimeoutUnit(TimeUnit)`
      Overrides:
        `setReadIdleTimeout` in class `HttpClientOptions`
      Parameters:
        `idleTimeout` - the read timeout
      Returns:
        a reference to this, so the API can be used fluently

    - #### setWriteIdleTimeout

          public WebClientOptions setWriteIdleTimeout(int idleTimeout)

      Description copied from class: `TCPSSLOptions`
      Set the write idle timeout, default time unit is seconds. Zero means don't timeout. This determines if a connection will timeout and be closed if no data is sent within the timeout. If you want change default time unit, use `TCPSSLOptions.setIdleTimeoutUnit(TimeUnit)`
      Overrides:
        `setWriteIdleTimeout` in class `HttpClientOptions`
      Parameters:
        `idleTimeout` - the write timeout
      Returns:
        a reference to this, so the API can be used fluently

    - #### setMaxWebSockets

          public WebClientOptions setMaxWebSockets(int maxWebSockets)

      Description copied from class: `HttpClientOptions`
      Set the max number of WebSockets per endpoint.
      Overrides:
        `setMaxWebSockets` in class `HttpClientOptions`
      Parameters:
        `maxWebSockets` - the max value
      Returns:
        a reference to this, so the API can be used fluently

    - #### setNonProxyHosts

          public WebClientOptions setNonProxyHosts(List<String> nonProxyHosts)

      Description copied from class: `ClientOptionsBase`
      Set a list of remote hosts that are not proxied when the client is configured to use a proxy. This list serves the same purpose than the JVM `nonProxyHosts` configuration.

      Entries can use the * wildcard character for pattern matching, e.g *.example.com matches www.example.com.

      Overrides:
        `setNonProxyHosts` in class `HttpClientOptions`
      Parameters:
        `nonProxyHosts` - the list of non proxies hosts
      Returns:
        a reference to this, so the API can be used fluently

    - #### addNonProxyHost

          public WebClientOptions addNonProxyHost(String nonProxyHost)

      Description copied from class: `ClientOptionsBase`
      Add a `host` to the `ClientOptionsBase.getNonProxyHosts()` list.
      Overrides:
        `addNonProxyHost` in class `HttpClientOptions`
      Parameters:
        `nonProxyHost` - the added host
      Returns:
        a reference to this, so the API can be used fluently

    - #### setWebSocketClosingTimeout

          public WebClientOptions setWebSocketClosingTimeout(int webSocketClosingTimeout)

      Description copied from class: `HttpClientOptions`
      Set the amount of time a client WebSocket will wait until it closes the TCP connection after receiving a close frame.

      When a WebSocket is closed, the server should close the TCP connection. This timeout will close the TCP connection on the client when it expires.

      Set to `0L` closes the TCP connection immediately after receiving the close frame.

      Set to a negative value to disable it.

      Overrides:
        `setWebSocketClosingTimeout` in class `HttpClientOptions`
      Parameters:
        `webSocketClosingTimeout` - the timeout is seconds
      Returns:
        a reference to this, so the API can be used fluently

    - #### setTracingPolicy

          public WebClientOptions setTracingPolicy(TracingPolicy tracingPolicy)

      Description copied from class: `HttpClientOptions`
      Set the tracing policy for the client behavior when Vert.x has tracing enabled.
      Overrides:
        `setTracingPolicy` in class `HttpClientOptions`
      Parameters:
        `tracingPolicy` - the tracing policy
      Returns:
        a reference to this, so the API can be used fluently

    - #### setPoolEventLoopSize

          public WebClientOptions setPoolEventLoopSize(int poolEventLoopSize)

      Description copied from class: `HttpClientOptions`
      Set the number of event-loop the pool use.
      - when the size is `0`, the client pool will use the current event-loop
      - otherwise the client will create and use its own event loop
      The default size is `0`.
      Overrides:
        `setPoolEventLoopSize` in class `HttpClientOptions`
      Parameters:
        `poolEventLoopSize` - the new size
      Returns:
        a reference to this, so the API can be used fluently

    - #### setShared

          public WebClientOptions setShared(boolean shared)

      Description copied from class: `HttpClientOptions`
      Set to `true` to share the client.

      There can be multiple shared clients distinguished by `HttpClientOptions.getName()`, when no specific name is set, the `HttpClientOptions.DEFAULT_NAME` is used.

      Overrides:
        `setShared` in class `HttpClientOptions`
      Parameters:
        `shared` - `true` to use a shared client
      Returns:
        a reference to this, so the API can be used fluently

    - #### setName

          public WebClientOptions setName(String name)

      Description copied from class: `HttpClientOptions`
      Set the client name, used when the client is shared, otherwise ignored.
      Overrides:
        `setName` in class `HttpClientOptions`
      Parameters:
        `name` - the new name
      Returns:
        a reference to this, so the API can be used fluently

    - #### loadUserAgent

          public static String loadUserAgent()

Copyright © 2023 Eclipse. All rights reserved.