Class HttpSenderOptions


public class HttpSenderOptions extends HttpClientOptions
Options for reporting to a Zipkin server configured by default to http://localhost:9411/api/v2/spans.
  • Field Details

  • Constructor Details

    • HttpSenderOptions

      public HttpSenderOptions()
    • HttpSenderOptions

      public HttpSenderOptions(HttpSenderOptions other)
    • HttpSenderOptions

      public HttpSenderOptions(JsonObject json)
  • Method Details

    • getSenderEndpoint

      public String getSenderEndpoint()
      Returns:
    • setSenderEndpoint

      public HttpSenderOptions setSenderEndpoint(String endpoint)
    • setSendBufferSize

      public HttpSenderOptions 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 HttpSenderOptions 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 HttpSenderOptions 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
    • setReusePort

      public HttpSenderOptions 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
    • setTrafficClass

      public HttpSenderOptions 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 HttpSenderOptions 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 HttpSenderOptions 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 HttpSenderOptions 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 HttpSenderOptions 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 HttpSenderOptions 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 HttpSenderOptions 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 HttpSenderOptions 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
    • setTrustOptions

      public HttpSenderOptions 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
    • addEnabledCipherSuite

      public HttpSenderOptions 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:
    • addEnabledSecureTransportProtocol

      public HttpSenderOptions 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 HttpSenderOptions 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
    • setTcpFastOpen

      public HttpSenderOptions 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 HttpSenderOptions 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 HttpSenderOptions 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
    • addCrlPath

      public HttpSenderOptions 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 HttpSenderOptions 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 HttpSenderOptions 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 HttpSenderOptions 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
    • setEnabledSecureTransportProtocols

      public HttpSenderOptions 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
    • setHttp2MultiplexingLimit

      public HttpSenderOptions 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
    • setHttp2ConnectionWindowSize

      public HttpSenderOptions 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
    • setHttp2KeepAliveTimeout

      public HttpSenderOptions 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
    • setKeepAlive

      public HttpSenderOptions 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
    • setKeepAliveTimeout

      public HttpSenderOptions 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
    • setPipelining

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

      public HttpSenderOptions setDecompressionSupported(boolean decompressionSupported)
      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:
      decompressionSupported - 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
    • setDefaultHost

      public HttpSenderOptions 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 HttpSenderOptions 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
    • setProtocolVersion

      public HttpSenderOptions 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
    • setMaxChunkSize

      public HttpSenderOptions 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
    • setMaxInitialLineLength

      public HttpSenderOptions 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
    • setMaxHeaderSize

      public HttpSenderOptions 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
    • setInitialSettings

      public HttpSenderOptions 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
    • setUseAlpn

      public HttpSenderOptions 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 HttpSenderOptions 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
    • setAlpnVersions

      public HttpSenderOptions 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 makes a best effort list according to HttpClientOptions.setProtocolVersion(HttpVersion):
      Overrides:
      setAlpnVersions in class HttpClientOptions
      Parameters:
      alpnVersions - the versions
      Returns:
      a reference to this, so the API can be used fluently
    • setHttp2ClearTextUpgrade

      public HttpSenderOptions 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
    • setMaxRedirects

      public HttpSenderOptions 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
    • setForceSni

      public HttpSenderOptions 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
    • setMetricsName

      public HttpSenderOptions 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 HttpSenderOptions 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 HttpSenderOptions 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 HttpSenderOptions 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
    • setDecoderInitialBufferSize

      public HttpSenderOptions 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