Interface RedirectStrategy

  • All Known Implementing Classes:
    DefaultRedirectStrategy, LaxRedirectStrategy

    public interface RedirectStrategy
    A strategy for determining if an HTTP request should be redirected to a new location in response to an HTTP response received from the target server.

    Implementations of this interface must be thread-safe. Access to shared data must be synchronized as methods of this interface may be executed from multiple threads.

    Since:
    4.1
    • Method Detail

      • isRedirected

        boolean isRedirected​(HttpRequest request,
                             HttpResponse response,
                             HttpContext context)
                      throws ProtocolException
        Determines if a request should be redirected to a new location given the response from the target server.
        Parameters:
        request - the executed request
        response - the response received from the target server
        context - the context for the request execution
        Returns:
        true if the request should be redirected, false otherwise
        Throws:
        ProtocolException
      • getRedirect

        HttpUriRequest getRedirect​(HttpRequest request,
                                   HttpResponse response,
                                   HttpContext context)
                            throws ProtocolException
        Determines the redirect location given the response from the target server and the current request execution context and generates a new request to be sent to the location.
        Parameters:
        request - the executed request
        response - the response received from the target server
        context - the context for the request execution
        Returns:
        redirected request
        Throws:
        ProtocolException