Interface AsyncExecChainHandler

All Known Implementing Classes:
AsyncCachingExec, AsyncConnectExec, AsyncHttpRequestRetryExec, AsyncProtocolExec, AsyncRedirectExec, H2AsyncMainClientExec, HttpAsyncMainClientExec

@Contract(threading=STATELESS) public interface AsyncExecChainHandler
Abstract request execution handler in an asynchronous client side request execution chain. Handlers can either be a decorator around another element that implements a cross cutting aspect or a self-contained executor capable of producing a response for the given request.

For information regarding the handler chain behaviour in case of a request re-execution, please refer to the AsyncHttpRequestRetryExec javadoc.

Well known request execution handlers could be referred to by name using one of the ChainElement enum values.

Since:
5.0
See Also:
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    execute(org.apache.hc.core5.http.HttpRequest request, org.apache.hc.core5.http.nio.AsyncEntityProducer entityProducer, AsyncExecChain.Scope scope, AsyncExecChain chain, AsyncExecCallback asyncExecCallback)
    Executes the actual HTTP request.
  • Method Details

    • execute

      void execute(org.apache.hc.core5.http.HttpRequest request, org.apache.hc.core5.http.nio.AsyncEntityProducer entityProducer, AsyncExecChain.Scope scope, AsyncExecChain chain, AsyncExecCallback asyncExecCallback) throws org.apache.hc.core5.http.HttpException, IOException
      Executes the actual HTTP request. The handler can choose to return a response message immediately inside the call or asynchronously at some later point or delegate request execution to the next element in the execution chain.
      Parameters:
      request - the actual request.
      entityProducer - the request entity producer or null if the request does not enclose an entity.
      scope - the execution scope .
      chain - the next element in the request execution chain.
      asyncExecCallback - the execution callback.
      Throws:
      org.apache.hc.core5.http.HttpException
      IOException