Class RedirectProtocolHandler

All Implemented Interfaces:
EventListener, Response.AsyncContentListener, Response.BeginListener, Response.CompleteListener, Response.ContentListener, Response.DemandedContentListener, Response.FailureListener, Response.HeaderListener, Response.HeadersListener, Response.Listener, Response.ResponseListener, Response.SuccessListener, ProtocolHandler

public class RedirectProtocolHandler extends Response.Listener.Adapter implements ProtocolHandler

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()
      Specified by:
      getName in interface ProtocolHandler
      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
      request - the request to accept
      response - the response to accept
      true if this protocol handler can handle the given request and response
    • getResponseListener

      public Response.Listener getResponseListener()
      Specified by:
      getResponseListener in interface ProtocolHandler
      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
      response - the response containing the response line data and the headers so far
      field - the header received
      true to process the header, false to skip processing of the header
    • 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
      result - the result of the request / response exchange