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 Details

    • execute

      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).
      HttpException - in case of an HTTP protocol error (usually this type of exceptions are non-recoverable).