Class SdkHttpConfigurationOption<T>

java.lang.Object
software.amazon.awssdk.utils.AttributeMap.Key<T>
software.amazon.awssdk.http.SdkHttpConfigurationOption<T>
Type Parameters:
T - Type of option

public final class SdkHttpConfigurationOption<T> extends AttributeMap.Key<T>
Type safe key for an HTTP related configuration option. These options are used for service specific configuration and are treated as hints for the underlying HTTP implementation for better defaults. If an implementation does not support a particular option, they are free to ignore it.
See Also:
  • Field Details

    • READ_TIMEOUT

      public static final SdkHttpConfigurationOption<Duration> READ_TIMEOUT
      Timeout for each read to the underlying socket.
    • WRITE_TIMEOUT

      public static final SdkHttpConfigurationOption<Duration> WRITE_TIMEOUT
      Timeout for each write to the underlying socket.
    • CONNECTION_TIMEOUT

      public static final SdkHttpConfigurationOption<Duration> CONNECTION_TIMEOUT
      Timeout for establishing a connection to a remote service.
    • CONNECTION_ACQUIRE_TIMEOUT

      public static final SdkHttpConfigurationOption<Duration> CONNECTION_ACQUIRE_TIMEOUT
      Timeout for acquiring an already-established connection from a connection pool to a remote service.
    • CONNECTION_MAX_IDLE_TIMEOUT

      public static final SdkHttpConfigurationOption<Duration> CONNECTION_MAX_IDLE_TIMEOUT
      Timeout after which an idle connection should be closed.
    • CONNECTION_TIME_TO_LIVE

      public static final SdkHttpConfigurationOption<Duration> CONNECTION_TIME_TO_LIVE
      Timeout after which a connection should be closed, regardless of whether it is idle. Zero indicates an infinite amount of time.
    • MAX_CONNECTIONS

      public static final SdkHttpConfigurationOption<Integer> MAX_CONNECTIONS
      Maximum number of connections allowed in a connection pool.
    • PROTOCOL

      public static final SdkHttpConfigurationOption<Protocol> PROTOCOL
      HTTP protocol to use.
    • MAX_PENDING_CONNECTION_ACQUIRES

      public static final SdkHttpConfigurationOption<Integer> MAX_PENDING_CONNECTION_ACQUIRES
      Maximum number of requests allowed to wait for a connection.
    • REAP_IDLE_CONNECTIONS

      public static final SdkHttpConfigurationOption<Boolean> REAP_IDLE_CONNECTIONS
      Whether idle connection should be removed after the CONNECTION_MAX_IDLE_TIMEOUT has passed.
    • TCP_KEEPALIVE

      public static final SdkHttpConfigurationOption<Boolean> TCP_KEEPALIVE
      Whether to enable or disable TCP KeepAlive.

      When enabled, the actual KeepAlive mechanism is dependent on the Operating System and therefore additional TCP KeepAlive values (like timeout, number of packets, etc) must be configured via the Operating System (sysctl on Linux/Mac, and Registry values on Windows).

    • TLS_KEY_MANAGERS_PROVIDER

      public static final SdkHttpConfigurationOption<TlsKeyManagersProvider> TLS_KEY_MANAGERS_PROVIDER
      The TlsKeyManagersProvider that will be used by the HTTP client when authenticating with a TLS host.
    • TRUST_ALL_CERTIFICATES

      public static final SdkHttpConfigurationOption<Boolean> TRUST_ALL_CERTIFICATES
      Option to disable SSL cert validation and SSL host name verification. By default, this option is off. Only enable this option for testing purposes.
    • TLS_TRUST_MANAGERS_PROVIDER

      public static final SdkHttpConfigurationOption<TlsTrustManagersProvider> TLS_TRUST_MANAGERS_PROVIDER
      The TlsTrustManagersProvider that will be used by the HTTP client when authenticating with a TLS host.
    • TLS_NEGOTIATION_TIMEOUT

      public static final SdkHttpConfigurationOption<Duration> TLS_NEGOTIATION_TIMEOUT
      The maximum amount of time that a TLS handshake is allowed to take from the time the CLIENT HELLO message is sent to the time the client and server have fully negotiated ciphers and exchanged keys.

      If not specified, the default value will be the same as the resolved CONNECTION_TIMEOUT.

    • GLOBAL_HTTP_DEFAULTS

      public static final AttributeMap GLOBAL_HTTP_DEFAULTS
  • Method Details

    • name

      public String name()
      Note that the name is mainly used for debugging purposes. Two option key objects with the same name do not represent the same option. Option keys are compared by reference when obtaining a value from an AttributeMap.
      Returns:
      Name of this option key.
    • toString

      public String toString()
      Overrides:
      toString in class AttributeMap.Key<T>