Class HttpRedirector


  • @Deprecated(since="2021-05-27")
    public class HttpRedirector
    extends java.lang.Object
    Deprecated.
    The Eclipse Jetty and Apache Felix Http Jetty packages are no longer supported.
    Utility class that handles HTTP redirects.

    Applications can disable redirection via Request.followRedirects(boolean) and then rely on this class to perform the redirect in a simpler way, for example:

      HttpRedirector redirector = new HttpRedirector(httpClient);
    
      Request request = httpClient.newRequest("http://host/path").followRedirects(false);
      ContentResponse response = request.send();
      while (redirector.isRedirect(response))
      {
          // Validate the redirect URI
          if (!validate(redirector.extractRedirectURI(response)))
              break;
    
          Result result = redirector.redirect(request, response);
          request = result.getRequest();
          response = result.getResponse();
      }
      
    • Constructor Detail

      • HttpRedirector

        public HttpRedirector​(HttpClient client)
        Deprecated.
    • Method Detail

      • isRedirect

        public boolean isRedirect​(Response response)
        Deprecated.
        Parameters:
        response - the response to check for redirects
        Returns:
        whether the response code is an HTTP redirect code
      • redirect

        public Result redirect​(Request request,
                               Response response)
                        throws java.lang.InterruptedException,
                               java.util.concurrent.ExecutionException
        Deprecated.
        Redirects the given response, blocking until the redirect is complete.
        Parameters:
        request - the original request that triggered the redirect
        response - the response to the original request
        Returns:
        a Result object containing the request to the redirected location and its response
        Throws:
        java.lang.InterruptedException - if the thread is interrupted while waiting for the redirect to complete
        java.util.concurrent.ExecutionException - if the redirect failed
        See Also:
        redirect(Request, Response, Response.CompleteListener)
      • redirect

        public Request redirect​(Request request,
                                Response response,
                                Response.CompleteListener listener)
        Deprecated.
        Redirects the given response asynchronously.
        Parameters:
        request - the original request that triggered the redirect
        response - the response to the original request
        listener - the listener that receives response events
        Returns:
        the request to the redirected location
      • extractRedirectURI

        public java.net.URI extractRedirectURI​(Response response)
        Deprecated.
        Extracts and sanitizes (by making it absolute and escaping paths and query parameters) the redirect URI of the given response.
        Parameters:
        response - the response to extract the redirect URI from
        Returns:
        the absolute redirect URI, or null if the response does not contain a valid redirect location