Class RetryableStage<OutputT>
- java.lang.Object
-
- software.amazon.awssdk.core.internal.http.pipeline.stages.RetryableStage<OutputT>
-
- All Implemented Interfaces:
RequestPipeline<SdkHttpFullRequest,Response<OutputT>>
,RequestToResponsePipeline<OutputT>
public final class RetryableStage<OutputT> extends Object implements RequestToResponsePipeline<OutputT>
Wrapper around the pipeline for a single request to provide retry, clock-skew and request throttling functionality.
-
-
Constructor Summary
Constructors Constructor Description RetryableStage(HttpClientDependencies dependencies, RequestPipeline<SdkHttpFullRequest,Response<OutputT>> requestPipeline)
RetryableStage(HttpClientDependencies dependencies, RequestPipeline<SdkHttpFullRequest,Response<OutputT>> requestPipeline, RateLimitingTokenBucket rateLimitingTokenBucket)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Response<OutputT>
execute(SdkHttpFullRequest request, RequestExecutionContext context)
Execute the pipeline with the given input.
-
-
-
Constructor Detail
-
RetryableStage
public RetryableStage(HttpClientDependencies dependencies, RequestPipeline<SdkHttpFullRequest,Response<OutputT>> requestPipeline)
-
RetryableStage
public RetryableStage(HttpClientDependencies dependencies, RequestPipeline<SdkHttpFullRequest,Response<OutputT>> requestPipeline, RateLimitingTokenBucket rateLimitingTokenBucket)
-
-
Method Detail
-
execute
public Response<OutputT> execute(SdkHttpFullRequest request, RequestExecutionContext context) throws Exception
Description copied from interface:RequestPipeline
Execute the pipeline with the given input.- Specified by:
execute
in interfaceRequestPipeline<SdkHttpFullRequest,Response<OutputT>>
- Parameters:
request
- Input to pipeline.context
- Context containing both request dependencies, and a container for any mutable state that must be shared between stages.- Returns:
- Output of pipeline.
- Throws:
Exception
- If any error occurs. This will be thrown out of the pipeline, if exceptions must be handled seeRequestPipelineBuilder.wrappedWith(BiFunction)
.
-
-