org.apache.hc.client5.http.protocol

## Interface RedirectStrategy

All Known Implementing Classes:
  DefaultRedirectStrategy

    @Contract(threading=STATELESS)
    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 Summary

All Methods Instance Methods Abstract Methods
`URI` `getLocationURI(HttpRequest request, HttpResponse response, HttpContext context)`
`boolean` `isRedirected(HttpRequest request, HttpResponse response, HttpContext context)` Determines if a request should be redirected to a new location given the response from the target server.

### Method Detail

#### isRedirected

    boolean isRedirected(HttpRequest request,
                         HttpResponse response,
                         HttpContext context)
                  throws HttpException

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:
  `HttpException`

#### getLocationURI

    URI getLocationURI(HttpRequest request,
                       HttpResponse response,
                       HttpContext context)
                throws HttpException

Throws:
  `HttpException`