Interface ProtocolHandler

All Known Implementing Classes:
AuthenticationProtocolHandler, ContinueProtocolHandler, EarlyHintsProtocolHandler, ProcessingProtocolHandler, ProxyAuthenticationProtocolHandler, RedirectProtocolHandler, UpgradeProtocolHandler, WWWAuthenticationProtocolHandler

public interface ProtocolHandler

A protocol handler performs HTTP protocol operations on behalf of the application, typically like a browser would.

A typical example is handling HTTP redirects. HttpClient could just return the redirect response to the application, but the application would have to implement the redirect functionality (while browsers do this automatically).

  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    accept(Request request, Response response)
    Inspects the given request and response to detect whether this protocol handler should handle them.
    Get a unique name among protocol handlers.
     
  • Method Details

    • getName

      String getName()
      Get a unique name among protocol handlers.
      Returns:
      a unique name among protocol handlers
    • accept

      boolean accept(Request request, Response response)

      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.

      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

      Response.Listener getResponseListener()
      Returns:
      a response listener that will handle the request and response on behalf of the application.