Interface UpgradeProtocol

All Known Implementing Classes:
Http2Protocol

public interface UpgradeProtocol
  • Method Details

    • getHttpUpgradeName

      String getHttpUpgradeName(boolean isSSLEnabled)
      Parameters:
      isSSLEnabled - Is this for a connector that is configured to support TLS. Some protocols (e.g. HTTP/2) only support HTTP upgrade over non-secure connections.
      Returns:
      The name that clients will use to request an upgrade to this protocol via an HTTP/1.1 upgrade request or null if upgrade via an HTTP/1.1 upgrade request is not supported.
    • getAlpnIdentifier

      byte[] getAlpnIdentifier()
      Returns:
      The byte sequence as listed in the IANA registry for this protocol or null if upgrade via ALPN is not supported.
    • getAlpnName

      String getAlpnName()
      Returns:
      The name of the protocol as listed in the IANA registry if and only if getAlpnIdentifier() returns the UTF-8 encoding of this name. If getAlpnIdentifier() returns some other byte sequence, then this method returns the empty string. If upgrade via ALPN is not supported then null is returned.
    • getProcessor

      Processor getProcessor(SocketWrapperBase<?> socketWrapper, Adapter adapter)
      Parameters:
      socketWrapper - The socketWrapper for the connection that requires a processor
      adapter - The Adapter instance that provides access to the standard Engine/Host/Context/Wrapper processing chain
      Returns:
      A processor instance for processing a connection using this protocol.
    • getInternalUpgradeHandler

      InternalHttpUpgradeHandler getInternalUpgradeHandler(Adapter adapter, Request request)
      Parameters:
      adapter - The Adapter to use to configure the new upgrade handler
      request - A copy (may be incomplete) of the request that triggered the upgrade
      Returns:
      An instance of the HTTP upgrade handler for this protocol
    • accept

      boolean accept(Request request)
      Allows the implementation to examine the request and accept or reject it based on what it finds.
      Parameters:
      request - The request that included an upgrade header for this protocol
      Returns:
      true if the request is accepted, otherwise false