Package org.apache.coyote
Interface UpgradeProtocol
- All Known Implementing Classes:
Http2Protocol
public interface UpgradeProtocol
-
Method Summary
Modifier and TypeMethodDescriptionboolean
Allows the implementation to examine the request and accept or reject it based on what it finds.byte[]
getHttpUpgradeName
(boolean isSSLEnabled) getInternalUpgradeHandler
(Adapter adapter, Request request) getProcessor
(SocketWrapperBase<?> socketWrapper, Adapter adapter)
-
Method Details
-
getHttpUpgradeName
- 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. IfgetAlpnIdentifier()
returns some other byte sequence, then this method returns the empty string. If upgrade via ALPN is not supported thennull
is returned.
-
getProcessor
- Parameters:
socketWrapper
- The socketWrapper for the connection that requires a processoradapter
- 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
- Parameters:
adapter
- The Adapter to use to configure the new upgrade handlerrequest
- A copy (may be incomplete) of the request that triggered the upgrade- Returns:
- An instance of the HTTP upgrade handler for this protocol
-
accept
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, otherwisefalse
-