org.apache.http.impl.execchain

## Interface ClientExecChain

- All Known Implementing Classes:
    BackoffStrategyExec, CachingExec, MainClientExec, MinimalClientExec, ProtocolExec, RedirectExec, RetryExec, ServiceUnavailableRetryExec

      public interface ClientExecChain

  This interface represents an element in the HTTP request execution chain. Each element 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.

  Important: please note it is required for decorators that implement post execution aspects or response post-processing of any sort to release resources associated with the response by calling `Closeable.close()` methods in case of an I/O, protocol or runtime exception, or in case the response is not propagated to the caller.

  Since:
    4.3

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `CloseableHttpResponse` | `execute(HttpRoute route, HttpRequestWrapper request, HttpClientContext clientContext, HttpExecutionAware execAware)` Executes th request either by transmitting it to the target server or by passing it onto the next executor in the request execution chain.

- - ### Method Detail

    - #### execute

          CloseableHttpResponse execute(HttpRoute route,
                                      HttpRequestWrapper request,
                                      HttpClientContext clientContext,
                                      HttpExecutionAware execAware)
                                        throws IOException,
                                               org.apache.http.HttpException

      Executes th request either by transmitting it to the target server or by passing it onto the next executor in the request execution chain.
      Parameters:
        `route` - connection route.
        `request` - current request.
        `clientContext` - current HTTP context.
        `execAware` - receiver of notifications of blocking I/O operations.
      Returns:
        HTTP response either received from the opposite endpoint or generated locally.
      Throws:
        `IOException` - in case of a I/O error. (this type of exceptions are potentially recoverable).
        `org.apache.http.HttpException` - in case of an HTTP protocol error (usually this type of exceptions are non-recoverable).

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