@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.
|
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 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 codeInterruptedException
public void shutdown()
public RequestMetricCollector getRequestMetricCollector()
public int getTimeOffset()
Copyright © 2013 Amazon Web Services, Inc. All Rights Reserved.