T
- Indicates the type being unmarshalled by this response handler.public class JsonResponseHandler<T> extends Object implements HttpResponseHandler<AmazonWebServiceResponse<T>>
Modifier and Type | Field and Description |
---|---|
boolean |
needsConnectionLeftOpen |
X_AMZN_REQUEST_ID_HEADER
Constructor and Description |
---|
JsonResponseHandler(com.amazonaws.transform.Unmarshaller<T,com.amazonaws.transform.JsonUnmarshallerContext> responseUnmarshaller)
Deprecated.
|
JsonResponseHandler(com.amazonaws.transform.Unmarshaller<T,com.amazonaws.transform.JsonUnmarshallerContext> responseUnmarshaller,
Map<Class<?>,com.amazonaws.transform.Unmarshaller<?,com.amazonaws.transform.JsonUnmarshallerContext>> simpleTypeUnmarshallers,
com.fasterxml.jackson.core.JsonFactory jsonFactory)
Constructs a new response handler that will use the specified JSON
unmarshaller to unmarshall the service response and uses the specified
response element path to find the root of the business data in the
service's response.
|
Modifier and Type | Method and Description |
---|---|
AmazonWebServiceResponse<T> |
handle(HttpResponse response)
Accepts an HTTP response object, and returns an object of type T.
|
boolean |
needsConnectionLeftOpen()
Indicates if this response handler requires that the underlying HTTP
connection not be closed automatically after the response is
handled.
|
protected void |
registerAdditionalMetadataExpressions(com.amazonaws.transform.JsonUnmarshallerContext unmarshallerContext)
Hook for subclasses to override in order to collect additional metadata
from service responses.
|
void |
setIsPayloadJson(boolean parsePayloadAsJson)
Sets whether the payload contains JSON.
|
void |
setNeedsConnectionLeftOpen(boolean needsConnectionLeftOpen) |
@Deprecated public JsonResponseHandler(com.amazonaws.transform.Unmarshaller<T,com.amazonaws.transform.JsonUnmarshallerContext> responseUnmarshaller)
responseUnmarshaller
- The JSON unmarshaller to use on the response.public JsonResponseHandler(com.amazonaws.transform.Unmarshaller<T,com.amazonaws.transform.JsonUnmarshallerContext> responseUnmarshaller, Map<Class<?>,com.amazonaws.transform.Unmarshaller<?,com.amazonaws.transform.JsonUnmarshallerContext>> simpleTypeUnmarshallers, com.fasterxml.jackson.core.JsonFactory jsonFactory)
responseUnmarshaller
- The JSON unmarshaller to use on the response.simpleTypeUnmarshallers
- List of unmarshallers to be used for scalar types.jsonFactory
- the json factory to be used for parsing the response.public AmazonWebServiceResponse<T> handle(HttpResponse response) throws Exception
HttpResponseHandler
handle
in interface HttpResponseHandler<AmazonWebServiceResponse<T>>
response
- The HTTP response to handle, as received from an AWS service.Exception
- If any problems are encountered handling the response.HttpResponseHandler.handle(HttpResponse)
protected void registerAdditionalMetadataExpressions(com.amazonaws.transform.JsonUnmarshallerContext unmarshallerContext)
unmarshallerContext
- The unmarshaller context used to process a service's response
data.public boolean needsConnectionLeftOpen()
HttpResponseHandler
For example, if the object returned by this response handler manually
manages the stream of data from the HTTP connection, and doesn't read all
the data from the connection in the HttpResponseHandler.handle(HttpResponse)
method,
this method can be used to prevent the underlying connection from being
prematurely closed.
Response handlers should use this option very carefully, since it means that resource cleanup is no longer handled automatically, and if neglected, can result in the client runtime running out of resources for new HTTP connections.
needsConnectionLeftOpen
in interface HttpResponseHandler<AmazonWebServiceResponse<T>>
public void setNeedsConnectionLeftOpen(boolean needsConnectionLeftOpen)
public void setIsPayloadJson(boolean parsePayloadAsJson)
Copyright © 2017. All rights reserved.