org.apache.http.impl.execchain

## Class RedirectExec

- java.lang.Object
- - org.apache.http.impl.execchain.RedirectExec

- All Implemented Interfaces:
    ClientExecChain

      @Contract(threading=IMMUTABLE_CONDITIONAL)
      public class RedirectExec
      extends Object
      implements ClientExecChain

  Request executor in the request execution chain that is responsible for handling of request redirects.

  Further responsibilities such as communication with the opposite endpoint is delegated to the next executor in the request execution chain.

  Since:
    4.3

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `RedirectExec(ClientExecChain requestExecutor, HttpRoutePlanner routePlanner, RedirectStrategy redirectStrategy)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `CloseableHttpResponse` | `execute(HttpRoute route, HttpRequestWrapper request, HttpClientContext context, 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.

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

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

- - ### Constructor Detail

    - #### RedirectExec

          public RedirectExec(ClientExecChain requestExecutor,
                      HttpRoutePlanner routePlanner,
                      RedirectStrategy redirectStrategy)

  - ### Method Detail

    - #### execute

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

      Description copied from interface: `ClientExecChain`
      Executes th request either by transmitting it to the target server or by passing it onto the next executor in the request execution chain.
      Specified by:
        `execute` in interface `ClientExecChain`
      Parameters:
        `route` - connection route.
        `request` - current request.
        `context` - 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.