Class RedirectProtocolHandler

java.lang.Object
org.eclipse.jetty.client.RedirectProtocolHandler
All Implemented Interfaces:
EventListener, ProtocolHandler, Response.AsyncContentListener, Response.BeginListener, Response.CompleteListener, Response.ContentListener, Response.ContentSourceListener, Response.FailureListener, Response.HeaderListener, Response.HeadersListener, Response.Listener, Response.ResponseListener, Response.SuccessListener

public class RedirectProtocolHandler extends Object implements ProtocolHandler, Response.Listener

A protocol handler that handles redirect status codes 301, 302, 303, 307 and 308.

  • Field Details

  • Constructor Details

    • RedirectProtocolHandler

      public RedirectProtocolHandler(HttpClient client)
  • Method Details

    • getName

      public String getName()
      Description copied from interface: ProtocolHandler
      Get a unique name among protocol handlers.
      Specified by:
      getName in interface ProtocolHandler
      Returns:
      a unique name among protocol handlers
    • accept

      public boolean accept(Request request, Response response)
      Description copied from interface: ProtocolHandler

      Inspects the given request and response to detect whether this protocol handler should handle them.

      For example, a redirect protocol handler can inspect the response code and return true if it is a redirect response code.

      This method is being called just after the response line has been parsed, and before the response headers are available.

      Specified by:
      accept in interface ProtocolHandler
      Parameters:
      request - the request to accept
      response - the response to accept
      Returns:
      true if this protocol handler can handle the given request and response
    • getResponseListener

      public Response.Listener getResponseListener()
      Specified by:
      getResponseListener in interface ProtocolHandler
      Returns:
      a response listener that will handle the request and response on behalf of the application.
    • onHeader

      public boolean onHeader(Response response, HttpField field)
      Description copied from interface: Response.HeaderListener
      Callback method invoked when a response header has been received and parsed, returning whether the header should be processed or not.
      Specified by:
      onHeader in interface Response.HeaderListener
      Specified by:
      onHeader in interface Response.Listener
      Parameters:
      response - the response containing the response line data and the headers so far
      field - the header received
      Returns:
      true to process the header, false to skip processing of the header
    • onSuccess

      public void onSuccess(Response response)
      Description copied from interface: Response.SuccessListener
      Callback method invoked when the whole response has been successfully received.
      Specified by:
      onSuccess in interface Response.Listener
      Specified by:
      onSuccess in interface Response.SuccessListener
      Parameters:
      response - the response containing the response line data and the headers
    • onComplete

      public void onComplete(Result result)
      Description copied from interface: Response.CompleteListener
      Callback method invoked when the request and the response have been processed, either successfully or not.

      The result parameter contains the request, the response, and eventual failures.

      Requests may complete after response, for example in case of big uploads that are discarded or read asynchronously by the server. This method is always invoked after Response.SuccessListener.onSuccess(Response) or Response.FailureListener.onFailure(Response, Throwable), and only when request indicates that it is completed.

      Specified by:
      onComplete in interface Response.CompleteListener
      Specified by:
      onComplete in interface Response.Listener
      Parameters:
      result - the result of the request / response exchange