Package org.apache.coyote.http2
Class Http2Protocol
java.lang.Object
org.apache.coyote.http2.Http2Protocol
- All Implemented Interfaces:
UpgradeProtocol
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionboolean
Allows the implementation to examine the request and accept or reject it based on what it finds.byte[]
String[]
protected int
int
boolean
getHttpUpgradeName
(boolean isSSLEnabled) int
boolean
getInternalUpgradeHandler
(SocketWrapperBase<?> socketWrapper, Adapter adapter, Request coyoteRequest) long
int
long
int
int
int
int
boolean
Deprecated.protected Pattern
int
int
int
int
int
getProcessor
(SocketWrapperBase<?> socketWrapper, Adapter adapter) long
long
long
boolean
long
void
setAllowedTrailerHeaders
(String commaSeparatedHeaders) void
setCompressibleMimeType
(String valueS) void
setCompression
(String compression) void
setCompressionMinSize
(int compressionMinSize) void
setDiscardRequestsAndResponses
(boolean discardRequestsAndResponses) void
setHttp11Protocol
(AbstractHttp11Protocol<?> http11Protocol) Configure the HTTP/1.1 protocol that this UpgradeProcotol is nested under.void
setInitialWindowSize
(int initialWindowSize) void
setInitiatePingDisabled
(boolean initiatePingDisabled) void
setKeepAliveTimeout
(long keepAliveTimeout) void
setMaxConcurrentStreamExecution
(int maxConcurrentStreamExecution) void
setMaxConcurrentStreams
(long maxConcurrentStreams) void
setMaxHeaderCount
(int maxHeaderCount) void
setMaxHeaderSize
(int maxHeaderSize) void
setMaxTrailerCount
(int maxTrailerCount) void
setMaxTrailerSize
(int maxTrailerSize) void
setNoCompressionStrongETag
(boolean noCompressionStrongETag) Deprecated.void
setNoCompressionUserAgents
(String noCompressionUserAgents) void
setOverheadContinuationThreshold
(int overheadContinuationThreshold) void
setOverheadCountFactor
(int overheadCountFactor) void
setOverheadDataThreshold
(int overheadDataThreshold) void
setOverheadResetFactor
(int overheadResetFactor) void
setOverheadWindowUpdateThreshold
(int overheadWindowUpdateThreshold) void
setReadTimeout
(long readTimeout) void
setStreamReadTimeout
(long streamReadTimeout) void
setStreamWriteTimeout
(long streamWriteTimeout) void
setUseSendfile
(boolean useSendfile) void
setWriteTimeout
(long writeTimeout) boolean
useCompression
(Request request, Response response) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.apache.coyote.UpgradeProtocol
setHttp11Protocol
-
Constructor Details
-
Http2Protocol
public Http2Protocol()
-
-
Method Details
-
getHttpUpgradeName
- Specified by:
getHttpUpgradeName
in interfaceUpgradeProtocol
- 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
public byte[] getAlpnIdentifier()- Specified by:
getAlpnIdentifier
in interfaceUpgradeProtocol
- Returns:
- The byte sequence as listed in the IANA registry for this protocol or
null
if upgrade via ALPN is not supported.
-
getAlpnName
- Specified by:
getAlpnName
in interfaceUpgradeProtocol
- Returns:
- The name of the protocol as listed in the IANA registry if and only if
UpgradeProtocol.getAlpnIdentifier()
returns the UTF-8 encoding of this name. IfUpgradeProtocol.getAlpnIdentifier()
returns some other byte sequence, then this method returns the empty string. If upgrade via ALPN is not supported thennull
is returned.
-
getProcessor
- Specified by:
getProcessor
in interfaceUpgradeProtocol
- 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
public InternalHttpUpgradeHandler getInternalUpgradeHandler(SocketWrapperBase<?> socketWrapper, Adapter adapter, Request coyoteRequest) - Specified by:
getInternalUpgradeHandler
in interfaceUpgradeProtocol
- Parameters:
socketWrapper
- The socketadapter
- The Adapter to use to configure the new upgrade handlercoyoteRequest
- A copy (may be incomplete) of the request that triggered the upgrade- Returns:
- An instance of the HTTP upgrade handler for this protocol
-
accept
Description copied from interface:UpgradeProtocol
Allows the implementation to examine the request and accept or reject it based on what it finds.- Specified by:
accept
in interfaceUpgradeProtocol
- Parameters:
request
- The request that included an upgrade header for this protocol- Returns:
true
if the request is accepted, otherwisefalse
-
getReadTimeout
public long getReadTimeout() -
setReadTimeout
public void setReadTimeout(long readTimeout) -
getWriteTimeout
public long getWriteTimeout() -
setWriteTimeout
public void setWriteTimeout(long writeTimeout) -
getKeepAliveTimeout
public long getKeepAliveTimeout() -
setKeepAliveTimeout
public void setKeepAliveTimeout(long keepAliveTimeout) -
getStreamReadTimeout
public long getStreamReadTimeout() -
setStreamReadTimeout
public void setStreamReadTimeout(long streamReadTimeout) -
getStreamWriteTimeout
public long getStreamWriteTimeout() -
setStreamWriteTimeout
public void setStreamWriteTimeout(long streamWriteTimeout) -
getMaxConcurrentStreams
public long getMaxConcurrentStreams() -
setMaxConcurrentStreams
public void setMaxConcurrentStreams(long maxConcurrentStreams) -
getMaxConcurrentStreamExecution
public int getMaxConcurrentStreamExecution() -
setMaxConcurrentStreamExecution
public void setMaxConcurrentStreamExecution(int maxConcurrentStreamExecution) -
getInitialWindowSize
public int getInitialWindowSize() -
setInitialWindowSize
public void setInitialWindowSize(int initialWindowSize) -
getUseSendfile
public boolean getUseSendfile() -
setUseSendfile
public void setUseSendfile(boolean useSendfile) -
setAllowedTrailerHeaders
-
getAllowedTrailerHeaders
-
setMaxHeaderCount
public void setMaxHeaderCount(int maxHeaderCount) -
getMaxHeaderCount
public int getMaxHeaderCount() -
setMaxHeaderSize
public void setMaxHeaderSize(int maxHeaderSize) -
getMaxHeaderSize
public int getMaxHeaderSize() -
setMaxTrailerCount
public void setMaxTrailerCount(int maxTrailerCount) -
getMaxTrailerCount
public int getMaxTrailerCount() -
setMaxTrailerSize
public void setMaxTrailerSize(int maxTrailerSize) -
getMaxTrailerSize
public int getMaxTrailerSize() -
getOverheadCountFactor
public int getOverheadCountFactor() -
setOverheadCountFactor
public void setOverheadCountFactor(int overheadCountFactor) -
getOverheadResetFactor
public int getOverheadResetFactor() -
setOverheadResetFactor
public void setOverheadResetFactor(int overheadResetFactor) -
getOverheadContinuationThreshold
public int getOverheadContinuationThreshold() -
setOverheadContinuationThreshold
public void setOverheadContinuationThreshold(int overheadContinuationThreshold) -
getOverheadDataThreshold
public int getOverheadDataThreshold() -
setOverheadDataThreshold
public void setOverheadDataThreshold(int overheadDataThreshold) -
getOverheadWindowUpdateThreshold
public int getOverheadWindowUpdateThreshold() -
setOverheadWindowUpdateThreshold
public void setOverheadWindowUpdateThreshold(int overheadWindowUpdateThreshold) -
setInitiatePingDisabled
public void setInitiatePingDisabled(boolean initiatePingDisabled) -
getInitiatePingDisabled
public boolean getInitiatePingDisabled() -
setCompression
-
getCompression
-
getCompressionLevel
protected int getCompressionLevel() -
getNoCompressionUserAgents
-
getNoCompressionUserAgentsPattern
-
setNoCompressionUserAgents
-
getCompressibleMimeType
-
setCompressibleMimeType
-
getCompressibleMimeTypes
-
getCompressionMinSize
public int getCompressionMinSize() -
setCompressionMinSize
public void setCompressionMinSize(int compressionMinSize) -
getNoCompressionStrongETag
Deprecated. -
setNoCompressionStrongETag
Deprecated. -
useCompression
-
getContinueResponseTimingInternal
-
getHttp11Protocol
-
setHttp11Protocol
Description copied from interface:UpgradeProtocol
Configure the HTTP/1.1 protocol that this UpgradeProcotol is nested under. Connections passed to this UpgradeProtocol via HTTP upgrade will have been initially handled by this HTTP/1.1 protocol implementation.The default implementation is a NO-OP.
- Specified by:
setHttp11Protocol
in interfaceUpgradeProtocol
- Parameters:
http11Protocol
- The HTTP/1.1 protocol implementation that will initially handle any connections passed to this UpgradeProtocol via the HTTP upgrade mechanism
-
getUpgradeProtocolName
-
getGlobal
-
getDiscardRequestsAndResponses
public boolean getDiscardRequestsAndResponses() -
setDiscardRequestsAndResponses
public void setDiscardRequestsAndResponses(boolean discardRequestsAndResponses)
-