Options describing how an HttpClient will make connections.

- `Anything`
  - `Object`
    - `Basic` ...and other supertypes
      - `NetworkOptions` ...and other supertypes
        - `TCPSSLOptions` ...and other supertypes
          - `ClientOptionsBase` ...and other supertypes
            - `HttpClientOptions` ...and other supertypes

- `HttpClientOptions`
  - `BaseDataObject`
  - `ClientOptionsBase`
    - `BaseDataObject`
    - `TCPSSLOptions`
      - `BaseDataObject`
      - `NetworkOptions`
        - `BaseDataObject`
        - `Basic`
          - `Identifiable`
          - `Object`
            - `Anything`

no subtypes hierarchy

Initializer
`HttpClientOptions({HttpVersion*}? alpnVersions = null, Integer? connectTimeout = null, {String*}? crlPaths = null, Integer? decoderInitialBufferSize = null, String? defaultHost = null, Integer? defaultPort = null, {String*}? enabledCipherSuites = null, {String*}? enabledSecureTransportProtocols = null, Boolean? forceSni = null, Boolean? http2ClearTextUpgrade = null, Integer? http2ConnectionWindowSize = null, Integer? http2MaxPoolSize = null, Integer? http2MultiplexingLimit = null, Integer? idleTimeout = null, Http2Settings? initialSettings = null, JdkSSLEngineOptions? jdkSslEngineOptions = null, Boolean? keepAlive = null, JksOptions? keyStoreOptions = null, String? localAddress = null, Boolean? logActivity = null, Integer? maxChunkSize = null, Integer? maxHeaderSize = null, Integer? maxInitialLineLength = null, Integer? maxPoolSize = null, Integer? maxRedirects = null, Integer? maxWaitQueueSize = null, Integer? maxWebsocketFrameSize = null, Integer? maxWebsocketMessageSize = null, String? metricsName = null, OpenSSLEngineOptions? openSslEngineOptions = null, PemKeyCertOptions? pemKeyCertOptions = null, PemTrustOptions? pemTrustOptions = null, PfxOptions? pfxKeyCertOptions = null, PfxOptions? pfxTrustOptions = null, Boolean? pipelining = null, Integer? pipeliningLimit = null, HttpVersion? protocolVersion = null, ProxyOptions? proxyOptions = null, Integer? receiveBufferSize = null, Boolean? reuseAddress = null, Integer? sendBufferSize = null, Boolean? sendUnmaskedFrames = null, Integer? soLinger = null, Boolean? ssl = null, Boolean? tcpKeepAlive = null, Boolean? tcpNoDelay = null, Integer? trafficClass = null, Boolean? trustAll = null, JksOptions? trustStoreOptions = null, Boolean? tryUseCompression = null, Boolean? useAlpn = null, Boolean? usePooledBuffers = null, Boolean? verifyHost = null)` Parameters: `alpnVersions = null` 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: : [ "h2", "http/1.1" ] otherwise: [[getProtocolVersion](../http/HttpClientOptions.type.html#getProtocolVersion)] `connectTimeout = null` `crlPaths = null` `decoderInitialBufferSize = null` set to `initialBufferSizeHttpDecoder` the initial buffer of the HttpDecoder. `defaultHost = null` Set the default host name to be used by this client in requests if none is provided when making the request. `defaultPort = null` Set the default port to be used by this client in requests if none is provided when making the request. `enabledCipherSuites = null` `enabledSecureTransportProtocols = null` `forceSni = null` 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. `http2ClearTextUpgrade = null` 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). `http2ConnectionWindowSize = null` Set the default HTTP/2 connection window size. It overrides the initial window size set by 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. `http2MaxPoolSize = null` Set the maximum pool size for HTTP/2 connections `http2MultiplexingLimit = null` 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. `idleTimeout = null` `initialSettings = null` Set the HTTP/2 connection settings immediately sent by to the server when the client connects. `jdkSslEngineOptions = null` `keepAlive = null` Set whether keep alive is enabled on the client `keyStoreOptions = null` `localAddress = null` `logActivity = null` `maxChunkSize = null` Set the maximum HTTP chunk size `maxHeaderSize = null` Set the maximum length of all headers for HTTP/1.x . `maxInitialLineLength = null` Set the maximum length of the initial line for HTTP/1.x (e.g. `“HTTP/1.1 200 OK”`) `maxPoolSize = null` Set the maximum pool size for connections `maxRedirects = null` Set to `maxRedirects` the maximum number of redirection a request can follow. `maxWaitQueueSize = null` 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. `maxWebsocketFrameSize = null` Set the max websocket frame size `maxWebsocketMessageSize = null` Set the max websocket message size `metricsName = null` `openSslEngineOptions = null` `pemKeyCertOptions = null` `pemTrustOptions = null` `pfxKeyCertOptions = null` `pfxTrustOptions = null` `pipelining = null` Set whether pipe-lining is enabled on the client `pipeliningLimit = null` Set the limit of pending requests a pipe-lined HTTP/1 connection can send. `protocolVersion = null` Set the protocol version. `proxyOptions = null` `receiveBufferSize = null` `reuseAddress = null` `sendBufferSize = null` `sendUnmaskedFrames = null` 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. `soLinger = null` `ssl = null` `tcpKeepAlive = null` `tcpNoDelay = null` `trafficClass = null` `trustAll = null` `trustStoreOptions = null` `tryUseCompression = null` Set whether compression is enabled `useAlpn = null` `usePooledBuffers = null` `verifyHost = null` Set whether hostname verification is enabled

Attributes
`alpnVersions` | `shared {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: : [ "h2", "http/1.1" ] otherwise: [[getProtocolVersion](../http/HttpClientOptions.type.html#getProtocolVersion)]
`decoderInitialBufferSize` | `shared Integer? decoderInitialBufferSize` set to `initialBufferSizeHttpDecoder` the initial buffer of the HttpDecoder.
`defaultHost` | `shared String? defaultHost` Set the default host name to be used by this client in requests if none is provided when making the request.
`defaultPort` | `shared Integer? defaultPort` Set the default port to be used by this client in requests if none is provided when making the request.
`forceSni` | `shared 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.
`http2ClearTextUpgrade` | `shared Boolean? http2ClearTextUpgrade` 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).
`http2ConnectionWindowSize` | `shared Integer? http2ConnectionWindowSize` Set the default HTTP/2 connection window size. It overrides the initial window size set by 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.
`http2MaxPoolSize` | `shared Integer? http2MaxPoolSize` Set the maximum pool size for HTTP/2 connections
`http2MultiplexingLimit` | `shared Integer? http2MultiplexingLimit` 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.
`initialSettings` | `shared Http2Settings? initialSettings` Set the HTTP/2 connection settings immediately sent by to the server when the client connects.
`keepAlive` | `shared Boolean? keepAlive` Set whether keep alive is enabled on the client
`maxChunkSize` | `shared Integer? maxChunkSize` Set the maximum HTTP chunk size
`maxHeaderSize` | `shared Integer? maxHeaderSize` Set the maximum length of all headers for HTTP/1.x .
`maxInitialLineLength` | `shared Integer? maxInitialLineLength` Set the maximum length of the initial line for HTTP/1.x (e.g. `“HTTP/1.1 200 OK”`)
`maxPoolSize` | `shared Integer? maxPoolSize` Set the maximum pool size for connections
`maxRedirects` | `shared Integer? maxRedirects` Set to `maxRedirects` the maximum number of redirection a request can follow.
`maxWaitQueueSize` | `shared Integer? 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.
`maxWebsocketFrameSize` | `shared Integer? maxWebsocketFrameSize` Set the max websocket frame size
`maxWebsocketMessageSize` | `shared Integer? maxWebsocketMessageSize` Set the max websocket message size
`pipelining` | `shared Boolean? pipelining` Set whether pipe-lining is enabled on the client
`pipeliningLimit` | `shared Integer? pipeliningLimit` Set the limit of pending requests a pipe-lined HTTP/1 connection can send.
`protocolVersion` | `shared HttpVersion? protocolVersion` Set the protocol version.
`sendUnmaskedFrames` | `shared 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.
`tryUseCompression` | `shared Boolean? tryUseCompression` Set whether compression is enabled
`verifyHost` | `shared Boolean? verifyHost` Set whether hostname verification is enabled

Inherited Attributes
Attributes inherited from: `ClientOptionsBase` `connectTimeout`, `localAddress`, `metricsName`, `proxyOptions`, `trustAll`
Attributes inherited from: `NetworkOptions` `logActivity`, `receiveBufferSize`, `reuseAddress`, `sendBufferSize`, `trafficClass`
Attributes inherited from: `Object` `hash`, `string`
Attributes inherited from: `TCPSSLOptions` `crlPaths`, `enabledCipherSuites`, `enabledSecureTransportProtocols`, `idleTimeout`, `jdkSslEngineOptions`, `keyStoreOptions`, `openSslEngineOptions`, `pemKeyCertOptions`, `pemTrustOptions`, `pfxKeyCertOptions`, `pfxTrustOptions`, `soLinger`, `ssl`, `tcpKeepAlive`, `tcpNoDelay`, `trustStoreOptions`, `useAlpn`, `usePooledBuffers`

Methods
`toJson` | `shared actual default JsonObject toJson()` Refines `ClientOptionsBase.toJson` ultimately refines `BaseDataObject.toJson`

Inherited Methods
Methods inherited from: `ClientOptionsBase` `toJson()`
Methods inherited from: `NetworkOptions` `toJson()`
Methods inherited from: `Object` `equals`
Methods inherited from: `TCPSSLOptions` `toJson()`
Methods inherited from: `BaseDataObject` `toJson`