io.vertx.ext.consul

## Class ConsulClientOptions

- 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
          - - io.vertx.ext.consul.ConsulClientOptions

-     public class ConsulClientOptions
      extends WebClientOptions

  Options used to create Consul client.
  Author:
    Ruslan Sennov

- - ### Field Summary

    - ### Fields inherited from class io.vertx.ext.web.client.WebClientOptions

      `DEFAULT_FOLLOW_REDIRECTS, DEFAULT_USER_AGENT, DEFAULT_USER_AGENT_ENABLED`

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

      `DEFAULT_ALPN_VERSIONS, DEFAULT_DECODER_INITIAL_BUFFER_SIZE, DEFAULT_DEFAULT_HOST, DEFAULT_DEFAULT_PORT, DEFAULT_FORCE_SNI, DEFAULT_HTTP2_CLEAR_TEXT_UPGRADE, 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_PIPELINING, DEFAULT_PIPELINING_LIMIT, DEFAULT_POOL_CLEANER_PERIOD, DEFAULT_PROTOCOL_VERSION, DEFAULT_SEND_UNMASKED_FRAMES, DEFAULT_TRY_USE_COMPRESSION, DEFAULT_TRY_USE_WEBSOCKET_DEFLATE_FRAME, DEFAULT_TRY_USE_WEBSOCKET_PERMESSAGE_DEFLATE, DEFAULT_VERIFY_HOST, DEFAULT_WEBSOCKET_COMPRESSION_ALLOW_CLIENT_NO_CONTEXT, DEFAULT_WEBSOCKET_COMPRESSION_LEVEL, DEFAULT_WEBSOCKET_COMPRESSION_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_SO_LINGER, DEFAULT_SSL, DEFAULT_SSL_ENGINE, DEFAULT_TCP_CORK, DEFAULT_TCP_FAST_OPEN, DEFAULT_TCP_KEEP_ALIVE, DEFAULT_TCP_NO_DELAY, DEFAULT_TCP_QUICKACK, DEFAULT_USE_ALPN, DEFAULT_USE_POOLED_BUFFERS`

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

      `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
    `ConsulClientOptions()` Default constructor
    `ConsulClientOptions(ConsulClientOptions options)` Copy constructor
    `ConsulClientOptions(JsonObject json)` Constructor from JSON
    `ConsulClientOptions(URI uri)` Constructor from `URI`.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `ConsulClientOptions` | `addCrlPath(String crlPath)` Add a CRL path
    `ConsulClientOptions` | `addCrlValue(Buffer crlValue)` Add a CRL value
    `ConsulClientOptions` | `addEnabledCipherSuite(String suite)` Add an enabled cipher suite, appended to the ordered suites.
    `ConsulClientOptions` | `addEnabledSecureTransportProtocol(String protocol)` Add an enabled SSL/TLS protocols, appended to the ordered protocols.
    `String` | `getAclToken()` Get the ACL token.
    `String` | `getDc()` Get the datacenter name
    `String` | `getHost()` Get Consul host.
    `int` | `getPort()` Get Consul HTTP API port.
    `long` | `getTimeout()` Get timeout in milliseconds
    `ConsulClientOptions` | `removeEnabledSecureTransportProtocol(String protocol)` Removes an enabled SSL/TLS protocol from the ordered protocols.
    `ConsulClientOptions` | `setAclToken(String aclToken)` Set the ACL token.
    `ConsulClientOptions` | `setAlpnVersions(List<HttpVersion> alpnVersions)` Set the list of protocol versions to provide to the server during the Application-Layer Protocol Negotiation.
    `ConsulClientOptions` | `setConnectTimeout(int connectTimeout)` Set the connect timeout
    `ConsulClientOptions` | `setDc(String dc)` Set the datacenter name.
    `ConsulClientOptions` | `setDecoderInitialBufferSize(int decoderInitialBufferSize)` set to `initialBufferSizeHttpDecoder` the initial buffer of the HttpDecoder.
    `ConsulClientOptions` | `setDefaultHost(String defaultHost)` Set the default host name to be used by this client in requests if none is provided when making the request.
    `ConsulClientOptions` | `setDefaultPort(int defaultPort)` Set the default port to be used by this client in requests if none is provided when making the request.
    `ConsulClientOptions` | `setEnabledSecureTransportProtocols(Set<String> enabledSecureTransportProtocols)` Sets the list of enabled SSL/TLS protocols.
    `ConsulClientOptions` | `setFollowRedirects(boolean followRedirects)` Configure the default behavior of the client to follow HTTP `30x` redirections.
    `ConsulClientOptions` | `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.
    `ConsulClientOptions` | `setHost(String host)` Set Consul host.
    `ConsulClientOptions` | `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).
    `ConsulClientOptions` | `setHttp2ConnectionWindowSize(int http2ConnectionWindowSize)` Set the default HTTP/2 connection window size.
    `ConsulClientOptions` | `setHttp2KeepAliveTimeout(int keepAliveTimeout)` Set the keep alive timeout for HTTP/2 connections, in seconds.
    `ConsulClientOptions` | `setHttp2MaxPoolSize(int max)` Set the maximum pool size for HTTP/2 connections
    `ConsulClientOptions` | `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.
    `ConsulClientOptions` | `setIdleTimeout(int idleTimeout)` Set the idle timeout, in seconds.
    `ConsulClientOptions` | `setIdleTimeoutUnit(TimeUnit idleTimeoutUnit)` Set the idle timeout unit.
    `ConsulClientOptions` | `setInitialSettings(Http2Settings settings)` Set the HTTP/2 connection settings immediately sent by to the server when the client connects.
    `ConsulClientOptions` | `setJdkSslEngineOptions(JdkSSLEngineOptions sslEngineOptions)`
    `ConsulClientOptions` | `setKeepAlive(boolean keepAlive)` Set whether keep alive is enabled on the client
    `ConsulClientOptions` | `setKeepAliveTimeout(int keepAliveTimeout)` Set the keep alive timeout for HTTP/1.x, in seconds.
    `ConsulClientOptions` | `setKeyCertOptions(KeyCertOptions options)` Set the key/cert options.
    `ConsulClientOptions` | `setKeyStoreOptions(JksOptions options)` Set the key/cert options in jks format, aka Java keystore.
    `ConsulClientOptions` | `setLocalAddress(String localAddress)` Set the local interface to bind for network connections.
    `ConsulClientOptions` | `setLogActivity(boolean logActivity)` Set to true to enabled network activity logging: Netty's pipeline is configured for logging on Netty's logger.
    `ConsulClientOptions` | `setMaxChunkSize(int maxChunkSize)` Set the maximum HTTP chunk size
    `ConsulClientOptions` | `setMaxHeaderSize(int maxHeaderSize)` Set the maximum length of all headers for HTTP/1.x .
    `ConsulClientOptions` | `setMaxInitialLineLength(int maxInitialLineLength)` Set the maximum length of the initial line for HTTP/1.x (e.g.
    `ConsulClientOptions` | `setMaxPoolSize(int maxPoolSize)` Set the maximum pool size for connections
    `ConsulClientOptions` | `setMaxRedirects(int maxRedirects)` Set to `maxRedirects` the maximum number of redirection a request can follow.
    `ConsulClientOptions` | `setMaxWaitQueueSize(int maxWaitQueueSize)` Set the maximum requests allowed in the wait queue, any requests beyond the max size will result in a ConnectionPoolTooBusyException.
    `ConsulClientOptions` | `setMaxWebsocketFrameSize(int maxWebsocketFrameSize)` Set the max websocket frame size
    `ConsulClientOptions` | `setMaxWebsocketMessageSize(int maxWebsocketMessageSize)` Set the max websocket message size
    `ConsulClientOptions` | `setMetricsName(String metricsName)` Set the metrics name identifying the reported metrics, useful for grouping metrics with the same name.
    `ConsulClientOptions` | `setOpenSslEngineOptions(OpenSSLEngineOptions sslEngineOptions)`
    `ConsulClientOptions` | `setPemKeyCertOptions(PemKeyCertOptions options)` Set the key/cert store options in pem format.
    `ConsulClientOptions` | `setPemTrustOptions(PemTrustOptions pemTrustOptions)` Set the trust options.
    `ConsulClientOptions` | `setPfxKeyCertOptions(PfxOptions options)` Set the key/cert options in pfx format.
    `ConsulClientOptions` | `setPfxTrustOptions(PfxOptions options)` Set the trust options in pfx format
    `ConsulClientOptions` | `setPipelining(boolean pipelining)` Set whether pipe-lining is enabled on the client
    `ConsulClientOptions` | `setPipeliningLimit(int limit)` Set the limit of pending requests a pipe-lined HTTP/1 connection can send.
    `ConsulClientOptions` | `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.
    `ConsulClientOptions` | `setPort(int port)` Set Consul HTTP API port.
    `ConsulClientOptions` | `setProtocolVersion(HttpVersion protocolVersion)` Set the protocol version.
    `ConsulClientOptions` | `setProxyOptions(ProxyOptions proxyOptions)` Set proxy options for connections via CONNECT proxy (e.g.
    `ConsulClientOptions` | `setReceiveBufferSize(int receiveBufferSize)` Set the TCP receive buffer size
    `ConsulClientOptions` | `setReuseAddress(boolean reuseAddress)` Set the value of reuse address
    `ConsulClientOptions` | `setReusePort(boolean reusePort)` Set the value of reuse port.
    `ConsulClientOptions` | `setSendBufferSize(int sendBufferSize)` Set the TCP send buffer size
    `ConsulClientOptions` | `setSendUnmaskedFrames(boolean sendUnmaskedFrames)` Set true when the client wants to skip frame masking.
    `ConsulClientOptions` | `setSoLinger(int soLinger)` Set whether SO_linger keep alive is enabled
    `ConsulClientOptions` | `setSsl(boolean ssl)` Set whether SSL/TLS is enabled
    `ConsulClientOptions` | `setSslEngineOptions(SSLEngineOptions sslEngineOptions)` Set to use SSL engine implementation to use.
    `ConsulClientOptions` | `setTcpCork(boolean tcpCork)` Enable the `TCP_CORK` option - only with linux native transport.
    `ConsulClientOptions` | `setTcpFastOpen(boolean tcpFastOpen)` Enable the `TCP_FASTOPEN` option - only with linux native transport.
    `ConsulClientOptions` | `setTcpKeepAlive(boolean tcpKeepAlive)` Set whether TCP keep alive is enabled
    `ConsulClientOptions` | `setTcpNoDelay(boolean tcpNoDelay)` Set whether TCP no delay is enabled
    `ConsulClientOptions` | `setTcpQuickAck(boolean tcpQuickAck)` Enable the `TCP_QUICKACK` option - only with linux native transport.
    `ConsulClientOptions` | `setTimeout(long timeoutMs)` Sets the amount of time (in milliseconds) after which if the request does not return any data within the timeout period an failure will be passed to the handler and the request will be closed.
    `ConsulClientOptions` | `setTrafficClass(int trafficClass)` Set the value of traffic class
    `ConsulClientOptions` | `setTrustAll(boolean trustAll)` Set whether all server certificates should be trusted
    `ConsulClientOptions` | `setTrustOptions(TrustOptions options)` Set the trust options.
    `ConsulClientOptions` | `setTrustStoreOptions(JksOptions options)` Set the trust options in jks format, aka Java truststore
    `ConsulClientOptions` | `setTryUseCompression(boolean tryUseCompression)` Set whether compression is enabled
    `ConsulClientOptions` | `setUseAlpn(boolean useAlpn)` Set the ALPN usage.
    `ConsulClientOptions` | `setUsePooledBuffers(boolean usePooledBuffers)` Set whether Netty pooled buffers are enabled
    `ConsulClientOptions` | `setUserAgent(String userAgent)` Sets the Web Client user agent header.
    `ConsulClientOptions` | `setUserAgentEnabled(boolean userAgentEnabled)` Sets whether the Web Client should send a user agent header.
    `ConsulClientOptions` | `setVerifyHost(boolean verifyHost)` Set whether hostname verification is enabled
    `JsonObject` | `toJson()` Convert to JSON

    - ### Methods inherited from class io.vertx.ext.web.client.WebClientOptions

      `getUserAgent, isFollowRedirects, isUserAgentEnabled, loadUserAgent`

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

      `equals, getAlpnVersions, getDecoderInitialBufferSize, getDefaultHost, getDefaultPort, getHttp2ConnectionWindowSize, getHttp2KeepAliveTimeout, getHttp2MaxPoolSize, getHttp2MultiplexingLimit, getInitialSettings, getKeepAliveTimeout, getMaxChunkSize, getMaxHeaderSize, getMaxInitialLineLength, getMaxPoolSize, getMaxRedirects, getMaxWaitQueueSize, getMaxWebsocketFrameSize, getMaxWebsocketMessageSize, getPipeliningLimit, getPoolCleanerPeriod, getProtocolVersion, getWebsocketCompressionAllowClientNoContext, getWebsocketCompressionLevel, getWebsocketCompressionRequestServerNoContext, hashCode, isForceSni, isHttp2ClearTextUpgrade, isKeepAlive, isPipelining, isSendUnmaskedFrames, isTryUseCompression, isVerifyHost, setTryUsePerFrameWebsocketCompression, setTryUsePerMessageWebsocketCompression, setWebsocketCompressionAllowClientNoContext, setWebsocketCompressionLevel, setWebsocketCompressionRequestServerNoContext, tryUsePerMessageWebsocketCompression, tryWebsocketDeflateFrameCompression`

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

      `getConnectTimeout, getLocalAddress, getMetricsName, 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, getSoLinger, getSslEngineOptions, getTrustOptions, getTrustStoreOptions, isSsl, isTcpCork, isTcpFastOpen, isTcpKeepAlive, isTcpNoDelay, isTcpQuickAck, isUseAlpn, isUsePooledBuffers`

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

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

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

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

- - ### Constructor Detail

    - #### ConsulClientOptions

          public ConsulClientOptions()

      Default constructor

    - #### ConsulClientOptions

          public ConsulClientOptions(ConsulClientOptions options)

      Copy constructor
      Parameters:
        `options` - the one to copy

    - #### ConsulClientOptions

          public ConsulClientOptions(JsonObject json)

      Constructor from JSON
      Parameters:
        `json` - the JSON

    - #### ConsulClientOptions

          public ConsulClientOptions(URI uri)

      Constructor from `URI`. The datacenter and the acl token can be defined in the query; the scheme will be ignored. For example:

      `consul://consul.example.com/?dc=dc1&acl=00000000-0000-0000-0000-000000000000`

      Parameters:
        `uri` - the URI

  - ### Method Detail

    - #### toJson

          public JsonObject toJson()

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

    - #### getHost

          public String getHost()

      Get Consul host.
      Returns:
        consul host

    - #### getPort

          public int getPort()

      Get Consul HTTP API port.
      Returns:
        consul port

    - #### getAclToken

          public String getAclToken()

      Get the ACL token.
      Returns:
        the ACL token.

    - #### getDc

          public String getDc()

      Get the datacenter name
      Returns:
        the datacenter name

    - #### getTimeout

          public long getTimeout()

      Get timeout in milliseconds
      Returns:
        timeout in milliseconds

    - #### setHost

          public ConsulClientOptions setHost(String host)

      Set Consul host. Defaults to `localhost`
      Parameters:
        `host` - consul host
      Returns:
        reference to this, for fluency

    - #### setPort

          public ConsulClientOptions setPort(int port)

      Set Consul HTTP API port. Defaults to `8500`
      Parameters:
        `port` - Consul HTTP API port
      Returns:
        reference to this, for fluency

    - #### setAclToken

          public ConsulClientOptions setAclToken(String aclToken)

      Set the ACL token. When provided, the client will use this token when making requests to the Consul by providing the "?token" query parameter. When not provided, the empty token, which maps to the 'anonymous' ACL policy, is used.
      Parameters:
        `aclToken` - the ACL token
      Returns:
        reference to this, for fluency

    - #### setDc

          public ConsulClientOptions setDc(String dc)

      Set the datacenter name. When provided, the client will use it when making requests to the Consul by providing the "?dc" query parameter. When not provided, the datacenter of the consul agent is queried.
      Parameters:
        `dc` - the datacenter name
      Returns:
        reference to this, for fluency

    - #### setTimeout

          public ConsulClientOptions setTimeout(long timeoutMs)

      Sets the amount of time (in milliseconds) after which if the request does not return any data within the timeout period an failure will be passed to the handler and the request will be closed.
      Parameters:
        `timeoutMs` - timeout in milliseconds
      Returns:
        reference to this, for fluency

    - #### setSendBufferSize

          public ConsulClientOptions setSendBufferSize(int sendBufferSize)

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

    - #### setReceiveBufferSize

          public ConsulClientOptions setReceiveBufferSize(int receiveBufferSize)

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

    - #### setReuseAddress

          public ConsulClientOptions setReuseAddress(boolean reuseAddress)

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

    - #### setReusePort

          public ConsulClientOptions setReusePort(boolean reusePort)

      Set the value of reuse port.

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

    - #### setTrafficClass

          public ConsulClientOptions setTrafficClass(int trafficClass)

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

    - #### setTcpNoDelay

          public ConsulClientOptions setTcpNoDelay(boolean tcpNoDelay)

      Set whether TCP no delay is enabled
      Overrides:
        `setTcpNoDelay` in class `WebClientOptions`
      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 ConsulClientOptions setTcpKeepAlive(boolean tcpKeepAlive)

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

    - #### setTcpCork

          public ConsulClientOptions setTcpCork(boolean tcpCork)

      Enable the `TCP_CORK` option - only with linux native transport.
      Overrides:
        `setTcpCork` in class `WebClientOptions`
      Parameters:
        `tcpCork` - the cork value
      Returns:
        a reference to this, so the API can be used fluently

    - #### setTcpQuickAck

          public ConsulClientOptions setTcpQuickAck(boolean tcpQuickAck)

      Enable the `TCP_QUICKACK` option - only with linux native transport.
      Overrides:
        `setTcpQuickAck` in class `WebClientOptions`
      Parameters:
        `tcpQuickAck` - the quick ack value
      Returns:
        a reference to this, so the API can be used fluently

    - #### setTcpFastOpen

          public ConsulClientOptions setTcpFastOpen(boolean tcpFastOpen)

      Enable the `TCP_FASTOPEN` option - only with linux native transport.
      Overrides:
        `setTcpFastOpen` in class `WebClientOptions`
      Parameters:
        `tcpFastOpen` - the fast open value
      Returns:
        a reference to this, so the API can be used fluently

    - #### setSoLinger

          public ConsulClientOptions setSoLinger(int soLinger)

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

    - #### setUsePooledBuffers

          public ConsulClientOptions setUsePooledBuffers(boolean usePooledBuffers)

      Set whether Netty pooled buffers are enabled
      Overrides:
        `setUsePooledBuffers` in class `WebClientOptions`
      Parameters:
        `usePooledBuffers` - true if pooled buffers enabled
      Returns:
        a reference to this, so the API can be used fluently

    - #### setIdleTimeout

          public ConsulClientOptions setIdleTimeout(int idleTimeout)

      Set the idle timeout, in seconds. zero means don't timeout. This determines if a connection will timeout and be closed if no data is received within the timeout.
      Overrides:
        `setIdleTimeout` in class `WebClientOptions`
      Parameters:
        `idleTimeout` - the timeout, in seconds
      Returns:
        a reference to this, so the API can be used fluently

    - #### setIdleTimeoutUnit

          public ConsulClientOptions setIdleTimeoutUnit(TimeUnit idleTimeoutUnit)

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

    - #### setSsl

          public ConsulClientOptions setSsl(boolean ssl)

      Set whether SSL/TLS is enabled
      Overrides:
        `setSsl` in class `WebClientOptions`
      Parameters:
        `ssl` - true if enabled
      Returns:
        reference to this, for fluency

    - #### setKeyCertOptions

          public ConsulClientOptions setKeyCertOptions(KeyCertOptions options)

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

    - #### setKeyStoreOptions

          public ConsulClientOptions setKeyStoreOptions(JksOptions options)

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

    - #### setPfxKeyCertOptions

          public ConsulClientOptions setPfxKeyCertOptions(PfxOptions options)

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

    - #### setTrustOptions

          public ConsulClientOptions setTrustOptions(TrustOptions options)

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

    - #### setPemKeyCertOptions

          public ConsulClientOptions setPemKeyCertOptions(PemKeyCertOptions options)

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

    - #### setTrustStoreOptions

          public ConsulClientOptions setTrustStoreOptions(JksOptions options)

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

    - #### setPfxTrustOptions

          public ConsulClientOptions setPfxTrustOptions(PfxOptions options)

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

    - #### setTrustAll

          public ConsulClientOptions setTrustAll(boolean trustAll)

      Set whether all server certificates should be trusted
      Overrides:
        `setTrustAll` in class `WebClientOptions`
      Parameters:
        `trustAll` - true if all should be trusted
      Returns:
        reference to this, for fluency

    - #### setPemTrustOptions

          public ConsulClientOptions setPemTrustOptions(PemTrustOptions pemTrustOptions)

      Set the trust options.
      Overrides:
        `setPemTrustOptions` in class `WebClientOptions`
      Parameters:
        `pemTrustOptions` - the trust options
      Returns:
        reference to this, for fluency

    - #### setConnectTimeout

          public ConsulClientOptions setConnectTimeout(int connectTimeout)

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

    - #### setMaxPoolSize

          public ConsulClientOptions setMaxPoolSize(int maxPoolSize)

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

    - #### setHttp2MultiplexingLimit

          public ConsulClientOptions 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. 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 `WebClientOptions`
      Parameters:
        `limit` - the maximum concurrent for an HTTP/2 connection
      Returns:
        a reference to this, so the API can be used fluently

    - #### setHttp2MaxPoolSize

          public ConsulClientOptions setHttp2MaxPoolSize(int max)

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

    - #### setHttp2ConnectionWindowSize

          public ConsulClientOptions setHttp2ConnectionWindowSize(int http2ConnectionWindowSize)

      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 `WebClientOptions`
      Parameters:
        `http2ConnectionWindowSize` - the window size applied to the connection
      Returns:
        a reference to this, so the API can be used fluently

    - #### setKeepAlive

          public ConsulClientOptions setKeepAlive(boolean keepAlive)

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

    - #### setPipelining

          public ConsulClientOptions setPipelining(boolean pipelining)

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

    - #### setPipeliningLimit

          public ConsulClientOptions setPipeliningLimit(int limit)

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

    - #### setVerifyHost

          public ConsulClientOptions setVerifyHost(boolean verifyHost)

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

    - #### setTryUseCompression

          public ConsulClientOptions setTryUseCompression(boolean tryUseCompression)

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

    - #### setSendUnmaskedFrames

          public ConsulClientOptions setSendUnmaskedFrames(boolean sendUnmaskedFrames)

      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 `WebClientOptions`
      Parameters:
        `sendUnmaskedFrames` - true if enabled
      Returns:
        a reference to this, so the API can be used fluently

    - #### setMaxWebsocketFrameSize

          public ConsulClientOptions setMaxWebsocketFrameSize(int maxWebsocketFrameSize)

      Set the max websocket frame size
      Overrides:
        `setMaxWebsocketFrameSize` in class `WebClientOptions`
      Parameters:
        `maxWebsocketFrameSize` - the max frame size, in bytes
      Returns:
        a reference to this, so the API can be used fluently

    - #### setDefaultHost

          public ConsulClientOptions setDefaultHost(String defaultHost)

      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 `WebClientOptions`
      Returns:
        a reference to this, so the API can be used fluently

    - #### setDefaultPort

          public ConsulClientOptions setDefaultPort(int defaultPort)

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

    - #### setProtocolVersion

          public ConsulClientOptions setProtocolVersion(HttpVersion protocolVersion)

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

    - #### setMaxChunkSize

          public ConsulClientOptions setMaxChunkSize(int maxChunkSize)

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

    - #### setMaxInitialLineLength

          public ConsulClientOptions setMaxInitialLineLength(int maxInitialLineLength)

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

    - #### setMaxHeaderSize

          public ConsulClientOptions setMaxHeaderSize(int maxHeaderSize)

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

    - #### setMaxWaitQueueSize

          public ConsulClientOptions setMaxWaitQueueSize(int maxWaitQueueSize)

      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 `WebClientOptions`
      Parameters:
        `maxWaitQueueSize` - the maximum number of waiting requests
      Returns:
        a reference to this, so the API can be used fluently

    - #### setInitialSettings

          public ConsulClientOptions setInitialSettings(Http2Settings settings)

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

    - #### setUseAlpn

          public ConsulClientOptions setUseAlpn(boolean useAlpn)

      Set the ALPN usage.
      Overrides:
        `setUseAlpn` in class `WebClientOptions`
      Parameters:
        `useAlpn` - true when Application-Layer Protocol Negotiation should be used

    - #### setSslEngineOptions

          public ConsulClientOptions setSslEngineOptions(SSLEngineOptions sslEngineOptions)

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

    - #### setJdkSslEngineOptions

          public ConsulClientOptions setJdkSslEngineOptions(JdkSSLEngineOptions sslEngineOptions)

      Overrides:
        `setJdkSslEngineOptions` in class `WebClientOptions`

    - #### setOpenSslEngineOptions

          public ConsulClientOptions setOpenSslEngineOptions(OpenSSLEngineOptions sslEngineOptions)

      Overrides:
        `setOpenSslEngineOptions` in class `WebClientOptions`

    - #### setAlpnVersions

          public ConsulClientOptions setAlpnVersions(List<HttpVersion> alpnVersions)

      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 `setProtocolVersion(io.vertx.core.http.HttpVersion)`:
      - `HttpVersion.HTTP_2`: [ "h2", "http/1.1" ]
      - otherwise: [`HttpClientOptions.getProtocolVersion()`]
      Overrides:
        `setAlpnVersions` in class `WebClientOptions`
      Parameters:
        `alpnVersions` - the versions
      Returns:
        a reference to this, so the API can be used fluently

    - #### setHttp2ClearTextUpgrade

          public ConsulClientOptions 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).
      Overrides:
        `setHttp2ClearTextUpgrade` in class `WebClientOptions`
      Parameters:
        `value` - the upgrade value
      Returns:
        a reference to this, so the API can be used fluently

    - #### setMaxRedirects

          public ConsulClientOptions setMaxRedirects(int maxRedirects)

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

    - #### setMetricsName

          public ConsulClientOptions setMetricsName(String metricsName)

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

    - #### setProxyOptions

          public ConsulClientOptions setProxyOptions(ProxyOptions proxyOptions)

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

    - #### setLocalAddress

          public ConsulClientOptions setLocalAddress(String localAddress)

      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 `WebClientOptions`
      Parameters:
        `localAddress` - the local address
      Returns:
        a reference to this, so the API can be used fluently

    - #### setLogActivity

          public ConsulClientOptions setLogActivity(boolean logActivity)

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

    - #### setUserAgentEnabled

          public ConsulClientOptions setUserAgentEnabled(boolean userAgentEnabled)

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

    - #### setUserAgent

          public ConsulClientOptions setUserAgent(String userAgent)

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

    - #### setFollowRedirects

          public ConsulClientOptions setFollowRedirects(boolean followRedirects)

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

    - #### setMaxWebsocketMessageSize

          public ConsulClientOptions setMaxWebsocketMessageSize(int maxWebsocketMessageSize)

      Set the max websocket message size
      Overrides:
        `setMaxWebsocketMessageSize` in class `WebClientOptions`
      Parameters:
        `maxWebsocketMessageSize` - the max message size, in bytes
      Returns:
        a reference to this, so the API can be used fluently

    - #### addEnabledCipherSuite

          public ConsulClientOptions addEnabledCipherSuite(String suite)

      Add an enabled cipher suite, appended to the ordered suites.
      Overrides:
        `addEnabledCipherSuite` in class `WebClientOptions`
      Parameters:
        `suite` - the suite
      Returns:
        a reference to this, so the API can be used fluently

    - #### addEnabledSecureTransportProtocol

          public ConsulClientOptions addEnabledSecureTransportProtocol(String protocol)

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

    - #### addCrlPath

          public ConsulClientOptions addCrlPath(String crlPath)
                                         throws NullPointerException

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

    - #### addCrlValue

          public ConsulClientOptions addCrlValue(Buffer crlValue)
                                          throws NullPointerException

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

    - #### setForceSni

          public ConsulClientOptions 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.
      Overrides:
        `setForceSni` in class `WebClientOptions`
      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 ConsulClientOptions setDecoderInitialBufferSize(int decoderInitialBufferSize)

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

    - #### removeEnabledSecureTransportProtocol

          public ConsulClientOptions removeEnabledSecureTransportProtocol(String protocol)

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

    - #### setHttp2KeepAliveTimeout

          public ConsulClientOptions 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.
      Overrides:
        `setHttp2KeepAliveTimeout` in class `WebClientOptions`
      Parameters:
        `keepAliveTimeout` - the timeout, in seconds
      Returns:
        a reference to this, so the API can be used fluently

    - #### setKeepAliveTimeout

          public ConsulClientOptions 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.
      Overrides:
        `setKeepAliveTimeout` in class `WebClientOptions`
      Parameters:
        `keepAliveTimeout` - the timeout, in seconds
      Returns:
        a reference to this, so the API can be used fluently

    - #### setPoolCleanerPeriod

          public ConsulClientOptions 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 `WebClientOptions`
      Parameters:
        `poolCleanerPeriod` - the pool cleaner period
      Returns:
        a reference to this, so the API can be used fluently

    - #### setEnabledSecureTransportProtocols

          public ConsulClientOptions setEnabledSecureTransportProtocols(Set<String> enabledSecureTransportProtocols)

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

Copyright © 2018 Eclipse. All rights reserved.