@ThreadSafe public class AmazonHttpClient extends Object
| Modifier and Type | Field and Description | 
|---|---|
| static String | HEADER_SDK_RETRY_INFO | 
| static String | HEADER_SDK_TRANSACTION_ID | 
| static String | HEADER_USER_AGENT | 
| Constructor and Description | 
|---|
| AmazonHttpClient(ClientConfiguration config)Constructs a new AWS client using the specified client configuration options (ex: max retry attempts, proxy
 httpClientSettings, etc). | 
| AmazonHttpClient(ClientConfiguration clientConfig,
                ConnectionManagerAwareHttpClient httpClient,
                RequestMetricCollector requestMetricCollector)Package-protected constructor for unit test purposes. | 
| AmazonHttpClient(ClientConfiguration config,
                RequestMetricCollector requestMetricCollector)Constructs a new AWS client using the specified client configuration options (ex: max retry attempts, proxy
 httpClientSettings, etc), and request metric collector. | 
| AmazonHttpClient(ClientConfiguration config,
                RequestMetricCollector requestMetricCollector,
                boolean useBrowserCompatibleHostNameVerifier)Constructs a new AWS client using the specified client configuration options (ex: max retry attempts, proxy
 httpClientSettings, etc), and request metric collector. | 
| AmazonHttpClient(ClientConfiguration config,
                RequestMetricCollector requestMetricCollector,
                boolean useBrowserCompatibleHostNameVerifier,
                boolean calculateCRC32FromCompressedData)Constructs a new AWS client using the specified client configuration options (ex: max retry attempts, proxy
 httpClientSettings, etc), and request metric collector. | 
| Modifier and Type | Method and Description | 
|---|---|
| <T> Response<T> | execute(Request<?> request,
       HttpResponseHandler<AmazonWebServiceResponse<T>> responseHandler,
       HttpResponseHandler<AmazonServiceException> errorResponseHandler,
       ExecutionContext executionContext)Executes the request and returns the result. | 
| <T> Response<T> | executeWithTimer(Request<?> request,
                HttpResponseHandler<AmazonWebServiceResponse<T>> responseHandler,
                HttpResponseHandler<AmazonServiceException> errorResponseHandler,
                ExecutionContext executionContext)Start and end client execution timer around the execution of the request. | 
| ClientExecutionTimer | getClientExecutionTimer()Package protected for unit-testing | 
| HttpRequestTimer | getHttpRequestTimer()Package protected for unit-testing | 
| RequestMetricCollector | getRequestMetricCollector()Returns the httpClientSettings client specific request metric collector; or null if there is none. | 
| ResponseMetadata | getResponseMetadataForRequest(AmazonWebServiceRequest request)Returns additional response metadata for an executed request. | 
| int | getTimeOffset()Returns the time difference in seconds between this client and AWS. | 
| void | shutdown()Shuts down this HTTP client object, releasing any resources that might be held open. | 
public static final String HEADER_USER_AGENT
public static final String HEADER_SDK_TRANSACTION_ID
public static final String HEADER_SDK_RETRY_INFO
public AmazonHttpClient(ClientConfiguration config)
config - Configuration options specifying how this client will communicate with AWS (ex: proxy httpClientSettings,
               retry count, etc.).public AmazonHttpClient(ClientConfiguration config, RequestMetricCollector requestMetricCollector)
config - Configuration options specifying how this client will communicate with AWS (ex:
                               proxy httpClientSettings, retry count, etc.).requestMetricCollector - client specific request metric collector, which takes precedence over the one at
                               the AWS SDK level; or null if there is none.public AmazonHttpClient(ClientConfiguration config, RequestMetricCollector requestMetricCollector, boolean useBrowserCompatibleHostNameVerifier)
config - Configuration options specifying how this client will communicate with AWS (ex:
                               proxy httpClientSettings, retry count, etc.).requestMetricCollector - client specific request metric collector, which takes precedence over the one at
                               the AWS SDK level; or null if there is none.public AmazonHttpClient(ClientConfiguration config, RequestMetricCollector requestMetricCollector, boolean useBrowserCompatibleHostNameVerifier, boolean calculateCRC32FromCompressedData)
config - Configuration options specifying how this client will communicate with AWS (ex:
                               proxy httpClientSettings, retry count, etc.).requestMetricCollector - client specific request metric collector, which takes precedence over the one at
                               the AWS SDK level; or null if there is none.calculateCRC32FromCompressedData - The flag indicating whether the CRC32 checksum is calculated from compressed data
                               or not. It is only applicable when the header "x-amz-crc32" is set in the response.public AmazonHttpClient(ClientConfiguration clientConfig, ConnectionManagerAwareHttpClient httpClient, RequestMetricCollector requestMetricCollector)
public HttpRequestTimer getHttpRequestTimer()
public ClientExecutionTimer getClientExecutionTimer()
public ResponseMetadata getResponseMetadataForRequest(AmazonWebServiceRequest request)
request - A previously executed AmazonWebServiceRequest object, whose response metadata is desired.public <T> Response<T> execute(Request<?> request, HttpResponseHandler<AmazonWebServiceResponse<T>> responseHandler, HttpResponseHandler<AmazonServiceException> errorResponseHandler, ExecutionContext executionContext)
request - The AmazonWebServices request to send to the remote serverresponseHandler - A response handler to accept a successful response from the remote servererrorResponseHandler - A response handler to accept an unsuccessful response from the remote serverexecutionContext - Additional information about the context of this web service callpublic <T> Response<T> executeWithTimer(Request<?> request, HttpResponseHandler<AmazonWebServiceResponse<T>> responseHandler, HttpResponseHandler<AmazonServiceException> errorResponseHandler, ExecutionContext executionContext) throws InterruptedException
execute(Request,
 HttpResponseHandler, HttpResponseHandler, ExecutionContext) so the interrupt status doesn't leak out to the
 callers codeInterruptedExceptionpublic void shutdown()
public RequestMetricCollector getRequestMetricCollector()
public int getTimeOffset()
Copyright © 2013 Amazon Web Services, Inc. All Rights Reserved.