Class HttpClientProperties

java.lang.Object
org.apache.iceberg.aws.HttpClientProperties
All Implemented Interfaces:
Serializable

public class HttpClientProperties extends Object implements Serializable
See Also:
  • Field Details

    • CLIENT_TYPE

      public static final String CLIENT_TYPE
      The type of SdkHttpClient implementation used by AwsClientFactory If set, all AWS clients will use this specified HTTP client. If not set, CLIENT_TYPE_DEFAULT will be used. For specific types supported, see CLIENT_TYPE_* defined below.
      See Also:
    • CLIENT_TYPE_APACHE

      public static final String CLIENT_TYPE_APACHE
      If this is set under CLIENT_TYPE, ApacheHttpClient will be used as the HTTP Client in AwsClientFactory
      See Also:
    • CLIENT_TYPE_URLCONNECTION

      public static final String CLIENT_TYPE_URLCONNECTION
      If this is set under CLIENT_TYPE, UrlConnectionHttpClient will be used as the HTTP Client in AwsClientFactory
      See Also:
    • CLIENT_TYPE_DEFAULT

      public static final String CLIENT_TYPE_DEFAULT
      See Also:
    • PROXY_ENDPOINT

      public static final String PROXY_ENDPOINT
      Used to configure the proxy endpoint. Used by both UrlConnectionHttpClient.Builder and ApacheHttpClient.Builder
      See Also:
    • URLCONNECTION_CONNECTION_TIMEOUT_MS

      public static final String URLCONNECTION_CONNECTION_TIMEOUT_MS
      Used to configure the connection timeout in milliseconds for UrlConnectionHttpClient.Builder. This flag only works when CLIENT_TYPE is set to CLIENT_TYPE_URLCONNECTION

      For more details, see https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/http/urlconnection/UrlConnectionHttpClient.Builder.html

      See Also:
    • URLCONNECTION_SOCKET_TIMEOUT_MS

      public static final String URLCONNECTION_SOCKET_TIMEOUT_MS
      Used to configure the socket timeout in milliseconds for UrlConnectionHttpClient.Builder. This flag only works when CLIENT_TYPE is set to CLIENT_TYPE_URLCONNECTION

      For more details, see https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/http/urlconnection/UrlConnectionHttpClient.Builder.html

      See Also:
    • APACHE_CONNECTION_TIMEOUT_MS

      public static final String APACHE_CONNECTION_TIMEOUT_MS
      Used to configure the connection timeout in milliseconds for ApacheHttpClient.Builder. This flag only works when CLIENT_TYPE is set to CLIENT_TYPE_APACHE

      For more details, see https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/http/apache/ApacheHttpClient.Builder.html

      See Also:
    • APACHE_SOCKET_TIMEOUT_MS

      public static final String APACHE_SOCKET_TIMEOUT_MS
      Used to configure the socket timeout in milliseconds for ApacheHttpClient.Builder. This flag only works when CLIENT_TYPE is set to CLIENT_TYPE_APACHE

      For more details, see https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/http/apache/ApacheHttpClient.Builder.html

      See Also:
    • APACHE_CONNECTION_ACQUISITION_TIMEOUT_MS

      public static final String APACHE_CONNECTION_ACQUISITION_TIMEOUT_MS
      Used to configure the connection acquisition timeout in milliseconds for ApacheHttpClient.Builder. This flag only works when CLIENT_TYPE is set to CLIENT_TYPE_APACHE

      For more details, see https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/http/apache/ApacheHttpClient.Builder.html

      See Also:
    • APACHE_CONNECTION_MAX_IDLE_TIME_MS

      public static final String APACHE_CONNECTION_MAX_IDLE_TIME_MS
      Used to configure the connection max idle time in milliseconds for ApacheHttpClient.Builder. This flag only works when CLIENT_TYPE is set to CLIENT_TYPE_APACHE

      For more details, see https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/http/apache/ApacheHttpClient.Builder.html

      See Also:
    • APACHE_CONNECTION_TIME_TO_LIVE_MS

      public static final String APACHE_CONNECTION_TIME_TO_LIVE_MS
      Used to configure the connection time to live in milliseconds for ApacheHttpClient.Builder. This flag only works when CLIENT_TYPE is set to CLIENT_TYPE_APACHE

      For more details, see https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/http/apache/ApacheHttpClient.Builder.html

      See Also:
    • APACHE_EXPECT_CONTINUE_ENABLED

      public static final String APACHE_EXPECT_CONTINUE_ENABLED
      Used to configure whether to enable the expect continue setting for ApacheHttpClient.Builder. This flag only works when CLIENT_TYPE is set to CLIENT_TYPE_APACHE

      In default, this is disabled.

      For more details, see https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/http/apache/ApacheHttpClient.Builder.html

      See Also:
    • APACHE_MAX_CONNECTIONS

      public static final String APACHE_MAX_CONNECTIONS
      Used to configure the max connections number for ApacheHttpClient.Builder. This flag only works when CLIENT_TYPE is set to CLIENT_TYPE_APACHE

      For more details, see https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/http/apache/ApacheHttpClient.Builder.html

      See Also:
    • APACHE_TCP_KEEP_ALIVE_ENABLED

      public static final String APACHE_TCP_KEEP_ALIVE_ENABLED
      Used to configure whether to enable the tcp keep alive setting for ApacheHttpClient.Builder. This flag only works when CLIENT_TYPE is set to CLIENT_TYPE_APACHE.

      In default, this is disabled.

      For more details, see https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/http/apache/ApacheHttpClient.Builder.html

      See Also:
    • APACHE_USE_IDLE_CONNECTION_REAPER_ENABLED

      public static final String APACHE_USE_IDLE_CONNECTION_REAPER_ENABLED
      Used to configure whether to use idle connection reaper for ApacheHttpClient.Builder. This flag only works when CLIENT_TYPE is set to CLIENT_TYPE_APACHE.

      In default, this is enabled.

      For more details, see https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/http/apache/ApacheHttpClient.Builder.html

      See Also:
  • Constructor Details

    • HttpClientProperties

      public HttpClientProperties()
    • HttpClientProperties

      public HttpClientProperties(Map<String,String> properties)
  • Method Details

    • applyHttpClientConfigurations

      public <T extends software.amazon.awssdk.awscore.client.builder.AwsSyncClientBuilder> void applyHttpClientConfigurations(T builder)
      Configure the httpClient for a client according to the HttpClientType. The two supported HttpClientTypes are urlconnection and apache

      Sample usage:

           S3Client.builder().applyMutation(awsProperties::applyHttpClientConfigurations)