Class CannedResponseAsyncHttpClient

java.lang.Object
software.amazon.awssdk.core.warmup.http.CannedResponseAsyncHttpClient
All Implemented Interfaces:
AutoCloseable, SdkAsyncHttpClient, SdkAutoCloseable

@SdkProtectedApi @Immutable @ThreadSafe public final class CannedResponseAsyncHttpClient extends Object implements SdkAsyncHttpClient
An SdkAsyncHttpClient that completes every request with caller-supplied response bytes without performing any network I/O. It is the async counterpart of CannedResponseHttpClient, used to warm the async request pipeline for a CRaC checkpoint.

Each execute(AsyncExecuteRequest) signals the configured status code, publishes the response bytes through a SimplePublisher, and returns an already-completed future.

  • Method Details

    • builder

      public static CannedResponseAsyncHttpClient.Builder builder()
    • execute

      public CompletableFuture<Void> execute(AsyncExecuteRequest request)
      Description copied from interface: SdkAsyncHttpClient
      Execute the request.
      Specified by:
      execute in interface SdkAsyncHttpClient
      Parameters:
      request - The request object.
      Returns:
      The future holding the result of the request execution. Upon success execution of the request, the future is completed with null, otherwise it is completed exceptionally.
    • clientName

      public String clientName()
      Description copied from interface: SdkAsyncHttpClient
      Each HTTP client implementation should return a well-formed client name that allows requests to be identifiable back to the client that made the request. The client name should include the backing implementation as well as the Sync or Async to identify the transmission type of the request. Client names should only include alphanumeric characters. Examples of well formed client names include, Apache, for requests using Apache's http client or NettyNio for Netty's http client.
      Specified by:
      clientName in interface SdkAsyncHttpClient
      Returns:
      String containing the name of the client
    • close

      public void close()
      Description copied from interface: SdkAutoCloseable
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface SdkAutoCloseable