Class AsyncResponseHandler<T>
java.lang.Object
software.amazon.awssdk.core.internal.http.async.AsyncResponseHandler<T>
- Type Parameters:
T- Type that the response handler produces.
- All Implemented Interfaces:
TransformingAsyncResponseHandler<T>,SdkAsyncHttpResponseHandler
public final class AsyncResponseHandler<T>
extends Object
implements TransformingAsyncResponseHandler<T>
Response handler for asynchronous non-streaming operations.
Adapts an HttpResponseHandler to the asynchronous TransformingAsyncResponseHandler. Buffers
all content into a ByteArrayInputStream then invokes the HttpResponseHandler.handle(software.amazon.awssdk.http.SdkHttpFullResponse, software.amazon.awssdk.core.interceptor.ExecutionAttributes)
method.
-
Constructor Summary
ConstructorsConstructorDescriptionAsyncResponseHandler(HttpResponseHandler<T> responseHandler, Function<SdkHttpFullResponse, SdkHttpFullResponse> crc32Validator, ExecutionAttributes executionAttributes) -
Method Summary
Modifier and TypeMethodDescriptionvoidCalled when there is an error making the request or receiving the response.voidonHeaders(SdkHttpResponse response) Called when the headers have been received.voidonStream(org.reactivestreams.Publisher<ByteBuffer> publisher) Called when the streaming body is ready.prepare()Return the future holding the transformed response.
-
Constructor Details
-
AsyncResponseHandler
public AsyncResponseHandler(HttpResponseHandler<T> responseHandler, Function<SdkHttpFullResponse, SdkHttpFullResponse> crc32Validator, ExecutionAttributes executionAttributes)
-
-
Method Details
-
onHeaders
Description copied from interface:SdkAsyncHttpResponseHandlerCalled when the headers have been received.- Specified by:
onHeadersin interfaceSdkAsyncHttpResponseHandler- Parameters:
response- The headers.
-
onStream
Description copied from interface:SdkAsyncHttpResponseHandlerCalled when the streaming body is ready.This method is always called. If the response does not have a body, then the publisher will complete the subscription without signalling any elements.
- Specified by:
onStreamin interfaceSdkAsyncHttpResponseHandler- Parameters:
publisher- The streaming body.
-
onError
Description copied from interface:SdkAsyncHttpResponseHandlerCalled when there is an error making the request or receiving the response. If the error is encountered while streaming the body, then the error is also delivered to theSubscriber.- Specified by:
onErrorin interfaceSdkAsyncHttpResponseHandler- Parameters:
err- The error.
-
prepare
Description copied from interface:TransformingAsyncResponseHandlerReturn the future holding the transformed response.This method is guaranteed to be called before the request is executed, and before
SdkAsyncHttpResponseHandler.onHeaders(software.amazon.awssdk.http.SdkHttpResponse)is signaled.- Specified by:
preparein interfaceTransformingAsyncResponseHandler<T>- Returns:
- The future holding the transformed response.
-