Class ConsulClientOptions

    • 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

      • 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
      • 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
      • 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
      • 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
      • 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
      • 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
      • setDecompressionSupported

        public WebClientOptions setDecompressionSupported​(boolean tryUseCompression)
        Set whether compression is enabled
        Overrides:
        setDecompressionSupported in class WebClientOptions
        Parameters:
        tryUseCompression - true if enabled
        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
      • 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
      • 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
      • 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
      • 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
      • 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
      • 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.

        A timeout of 0 means there is no timeout.

        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.

        A timeout of 0 means there is no timeout.

        Overrides:
        setKeepAliveTimeout in class WebClientOptions
        Parameters:
        keepAliveTimeout - the timeout, in seconds
        Returns:
        a reference to this, so the API can be used fluently
      • setSslHandshakeTimeout

        public ConsulClientOptions setSslHandshakeTimeout​(long sslHandshakeTimeout)
        Description copied from class: TCPSSLOptions
        Set the SSL handshake timeout, default time unit is seconds.
        Overrides:
        setSslHandshakeTimeout in class WebClientOptions
        Parameters:
        sslHandshakeTimeout - the SSL handshake timeout to set, in milliseconds
        Returns:
        a reference to this, so the API can be used fluently
      • setSslHandshakeTimeoutUnit

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