Package software.amazon.awssdk.core.http
Interface HttpResponseHandler<T>
-
- Type Parameters:
T
- The output of this response handler.
- All Known Implementing Classes:
AttachHttpMetadataResponseHandler
,CombinedResponseHandler
,MetricCollectingHttpResponseHandler
- Functional Interface:
- This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
@FunctionalInterface public interface HttpResponseHandler<T>
Responsible for handling an HTTP response and returning an object of type T. For example, a typical response handler might accept a response, and translate it into a concrete typed object.
-
-
Field Summary
Fields Modifier and Type Field Description static String
X_AMZ_ID_2_HEADER
static String
X_AMZN_REQUEST_ID_HEADER
static String
X_AMZN_REQUEST_ID_HEADER_ALTERNATE
static Set<String>
X_AMZN_REQUEST_ID_HEADERS
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description T
handle(SdkHttpFullResponse response, ExecutionAttributes executionAttributes)
Accepts an HTTP response object, and returns an object of type T.default boolean
needsConnectionLeftOpen()
Indicates if this response handler requires that the underlying HTTP connection not be closed automatically after the response is handled.
-
-
-
Field Detail
-
X_AMZN_REQUEST_ID_HEADER
static final String X_AMZN_REQUEST_ID_HEADER
- See Also:
- Constant Field Values
-
X_AMZN_REQUEST_ID_HEADER_ALTERNATE
static final String X_AMZN_REQUEST_ID_HEADER_ALTERNATE
- See Also:
- Constant Field Values
-
X_AMZ_ID_2_HEADER
static final String X_AMZ_ID_2_HEADER
- See Also:
- Constant Field Values
-
-
Method Detail
-
handle
T handle(SdkHttpFullResponse response, ExecutionAttributes executionAttributes) throws Exception
Accepts an HTTP response object, and returns an object of type T. Individual implementations may choose to handle the response however they need to, and return any type that they need to.- Parameters:
response
- The HTTP response to handle, as received from an AWS service.executionAttributes
- The attributes attached to this particular execution.- Returns:
- An object of type T, as defined by individual implementations.
- Throws:
Exception
- If any problems are encountered handling the response.
-
needsConnectionLeftOpen
default boolean needsConnectionLeftOpen()
Indicates if this response handler requires that the underlying HTTP connection not be closed automatically after the response is handled.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
handle(SdkHttpFullResponse, ExecutionAttributes)
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.
- Returns:
- True if this response handler requires that the underlying HTTP connection be left open, and not automatically closed, otherwise false.
-
-