org.apache.hc.client5.http.impl.async

## Class CloseableHttpAsyncClient

- java.lang.Object
- - org.apache.hc.client5.http.impl.async.CloseableHttpAsyncClient

- All Implemented Interfaces:
    Closeable, AutoCloseable, HttpAsyncClient, org.apache.hc.core5.io.ModalCloseable
  Direct Known Subclasses:
    InternalH2AsyncClient, InternalHttpAsyncClient, MinimalH2AsyncClient, MinimalHttpAsyncClient

      @Contract(threading=STATELESS)
      public abstract class CloseableHttpAsyncClient
      extends Object
      implements HttpAsyncClient, org.apache.hc.core5.io.ModalCloseable

  Base implementation of `HttpAsyncClient` that also implements `ModalCloseable`.
  Since:
    5.0

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `CloseableHttpAsyncClient()`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `abstract void` | `awaitShutdown(org.apache.hc.core5.util.TimeValue waitTime)`
    `protected abstract <T> Future<T>` | `doExecute(org.apache.hc.core5.http.HttpHost target, org.apache.hc.core5.http.nio.AsyncRequestProducer requestProducer, org.apache.hc.core5.http.nio.AsyncResponseConsumer<T> responseConsumer, org.apache.hc.core5.http.nio.HandlerFactory<org.apache.hc.core5.http.nio.AsyncPushConsumer> pushHandlerFactory, org.apache.hc.core5.http.protocol.HttpContext context, org.apache.hc.core5.concurrent.FutureCallback<T> callback)`
    `<T> Future<T>` | `execute(org.apache.hc.core5.http.nio.AsyncRequestProducer requestProducer, org.apache.hc.core5.http.nio.AsyncResponseConsumer<T> responseConsumer, org.apache.hc.core5.concurrent.FutureCallback<T> callback)`
    `<T> Future<T>` | `execute(org.apache.hc.core5.http.nio.AsyncRequestProducer requestProducer, org.apache.hc.core5.http.nio.AsyncResponseConsumer<T> responseConsumer, org.apache.hc.core5.http.nio.HandlerFactory<org.apache.hc.core5.http.nio.AsyncPushConsumer> pushHandlerFactory, org.apache.hc.core5.http.protocol.HttpContext context, org.apache.hc.core5.concurrent.FutureCallback<T> callback)` Initiates asynchronous HTTP request execution using the given context.
    `<T> Future<T>` | `execute(org.apache.hc.core5.http.nio.AsyncRequestProducer requestProducer, org.apache.hc.core5.http.nio.AsyncResponseConsumer<T> responseConsumer, org.apache.hc.core5.http.protocol.HttpContext context, org.apache.hc.core5.concurrent.FutureCallback<T> callback)`
    `<T> Future<T>` | `execute(org.apache.hc.core5.http.HttpHost target, org.apache.hc.core5.http.nio.AsyncRequestProducer requestProducer, org.apache.hc.core5.http.nio.AsyncResponseConsumer<T> responseConsumer, org.apache.hc.core5.http.nio.HandlerFactory<org.apache.hc.core5.http.nio.AsyncPushConsumer> pushHandlerFactory, org.apache.hc.core5.http.protocol.HttpContext context, org.apache.hc.core5.concurrent.FutureCallback<T> callback)`
    `Future<SimpleHttpResponse>` | `execute(SimpleHttpRequest request, org.apache.hc.core5.concurrent.FutureCallback<SimpleHttpResponse> callback)`
    `Future<SimpleHttpResponse>` | `execute(SimpleHttpRequest request, org.apache.hc.core5.http.protocol.HttpContext context, org.apache.hc.core5.concurrent.FutureCallback<SimpleHttpResponse> callback)`
    `abstract org.apache.hc.core5.reactor.IOReactorStatus` | `getStatus()`
    `abstract void` | `initiateShutdown()`
    `abstract void` | `register(String hostname, String uriPattern, org.apache.hc.core5.function.Supplier<org.apache.hc.core5.http.nio.AsyncPushConsumer> supplier)` Deprecated. Use `RequestRouter` at the construction time
    `void` | `register(String uriPattern, org.apache.hc.core5.function.Supplier<org.apache.hc.core5.http.nio.AsyncPushConsumer> supplier)` Deprecated. Use `RequestRouter` at the construction time
    `abstract void` | `start()`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface org.apache.hc.core5.io.ModalCloseable

      `close`

    - ### Methods inherited from interface java.io.Closeable

      `close`

- - ### Constructor Detail

    - #### CloseableHttpAsyncClient

          public CloseableHttpAsyncClient()

  - ### Method Detail

    - #### start

          public abstract void start()

    - #### getStatus

          public abstract org.apache.hc.core5.reactor.IOReactorStatus getStatus()

    - #### awaitShutdown

          public abstract void awaitShutdown(org.apache.hc.core5.util.TimeValue waitTime)
                                      throws InterruptedException

      Throws:
        `InterruptedException`

    - #### initiateShutdown

          public abstract void initiateShutdown()

    - #### doExecute

          protected abstract <T> Future<T> doExecute(org.apache.hc.core5.http.HttpHost target,
                                                     org.apache.hc.core5.http.nio.AsyncRequestProducer requestProducer,
                                                     org.apache.hc.core5.http.nio.AsyncResponseConsumer<T> responseConsumer,
                                                     org.apache.hc.core5.http.nio.HandlerFactory<org.apache.hc.core5.http.nio.AsyncPushConsumer> pushHandlerFactory,
                                                     org.apache.hc.core5.http.protocol.HttpContext context,
                                                     org.apache.hc.core5.concurrent.FutureCallback<T> callback)

    - #### execute

          public final <T> Future<T> execute(org.apache.hc.core5.http.HttpHost target,
                                             org.apache.hc.core5.http.nio.AsyncRequestProducer requestProducer,
                                             org.apache.hc.core5.http.nio.AsyncResponseConsumer<T> responseConsumer,
                                             org.apache.hc.core5.http.nio.HandlerFactory<org.apache.hc.core5.http.nio.AsyncPushConsumer> pushHandlerFactory,
                                             org.apache.hc.core5.http.protocol.HttpContext context,
                                             org.apache.hc.core5.concurrent.FutureCallback<T> callback)

    - #### execute

          public final <T> Future<T> execute(org.apache.hc.core5.http.nio.AsyncRequestProducer requestProducer,
                                             org.apache.hc.core5.http.nio.AsyncResponseConsumer<T> responseConsumer,
                                             org.apache.hc.core5.http.nio.HandlerFactory<org.apache.hc.core5.http.nio.AsyncPushConsumer> pushHandlerFactory,
                                             org.apache.hc.core5.http.protocol.HttpContext context,
                                             org.apache.hc.core5.concurrent.FutureCallback<T> callback)

      Description copied from interface: `HttpAsyncClient`
      Initiates asynchronous HTTP request execution using the given context.

      The request producer passed to this method will be used to generate a request message and stream out its content without buffering it in memory. The response consumer passed to this method will be used to process a response message without buffering its content in memory.

      Please note it may be unsafe to interact with the context instance while the request is still being executed.

      Specified by:
        `execute` in interface `HttpAsyncClient`
      Type Parameters:
        `T` - the result type of request execution.
      Parameters:
        `requestProducer` - request producer callback.
        `responseConsumer` - response consumer callback.
        `pushHandlerFactory` - the push handler factory. Optional and may be `null`.
        `context` - HTTP context. Optional and may be `null`.
        `callback` - future callback. Optional and may be `null`.
      Returns:
        future representing pending completion of the operation.

    - #### execute

          public final <T> Future<T> execute(org.apache.hc.core5.http.nio.AsyncRequestProducer requestProducer,
                                             org.apache.hc.core5.http.nio.AsyncResponseConsumer<T> responseConsumer,
                                             org.apache.hc.core5.http.protocol.HttpContext context,
                                             org.apache.hc.core5.concurrent.FutureCallback<T> callback)

    - #### execute

          public final <T> Future<T> execute(org.apache.hc.core5.http.nio.AsyncRequestProducer requestProducer,
                                             org.apache.hc.core5.http.nio.AsyncResponseConsumer<T> responseConsumer,
                                             org.apache.hc.core5.concurrent.FutureCallback<T> callback)

    - #### execute

          public final Future<SimpleHttpResponse> execute(SimpleHttpRequest request,
                                                          org.apache.hc.core5.http.protocol.HttpContext context,
                                                          org.apache.hc.core5.concurrent.FutureCallback<SimpleHttpResponse> callback)

    - #### execute

          public final Future<SimpleHttpResponse> execute(SimpleHttpRequest request,
                                                          org.apache.hc.core5.concurrent.FutureCallback<SimpleHttpResponse> callback)

    - #### register

          @Deprecated
          public abstract void register(String hostname,
                                                    String uriPattern,
                                                    org.apache.hc.core5.function.Supplier<org.apache.hc.core5.http.nio.AsyncPushConsumer> supplier)

      Deprecated. Use `RequestRouter` at the construction time

    - #### register

          @Deprecated
          public final void register(String uriPattern,
                                                 org.apache.hc.core5.function.Supplier<org.apache.hc.core5.http.nio.AsyncPushConsumer> supplier)

      Deprecated. Use `RequestRouter` at the construction time

Copyright © 1999–2021 The Apache Software Foundation. All rights reserved.