Http2Protocol (Apache Tomcat 8.5.85 API Documentation)

Package org.apache.coyote.http2

## Class Http2Protocol

- java.lang.Object
- - org.apache.coyote.http2.Http2Protocol

- All Implemented Interfaces:
    `UpgradeProtocol`

      public class Http2Protocol
      extends java.lang.Object
      implements UpgradeProtocol

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `Http2Protocol()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `boolean` | `accept​(Request request)` | Allows the implementation to examine the request and accept or reject it based on what it finds.
    `java.lang.String` | `getAllowedTrailerHeaders()` |
    `byte[]` | `getAlpnIdentifier()` |
    `java.lang.String` | `getAlpnName()` |
    `java.lang.String` | `getCompressibleMimeType()` |
    `java.lang.String[]` | `getCompressibleMimeTypes()` |
    `java.lang.String` | `getCompression()` |
    `protected int` | `getCompressionLevel()` |
    `int` | `getCompressionMinSize()` |
    `ContinueResponseTiming` | `getContinueResponseTimingInternal()` |
    `RequestGroupInfo` | `getGlobal()` |
    `AbstractHttp11Protocol<?>` | `getHttp11Protocol()` |
    `java.lang.String` | `getHttpUpgradeName​(boolean isSSLEnabled)` |
    `int` | `getInitialWindowSize()` |
    `InternalHttpUpgradeHandler` | `getInternalUpgradeHandler​(Adapter adapter, Request coyoteRequest)` |
    `long` | `getKeepAliveTimeout()` |
    `int` | `getMaxConcurrentStreamExecution()` |
    `long` | `getMaxConcurrentStreams()` |
    `int` | `getMaxHeaderCount()` |
    `int` | `getMaxHeaderSize()` |
    `int` | `getMaxTrailerCount()` |
    `int` | `getMaxTrailerSize()` |
    `boolean` | `getNoCompressionStrongETag()` | Deprecated.
    `java.lang.String` | `getNoCompressionUserAgents()` |
    `protected java.util.regex.Pattern` | `getNoCompressionUserAgentsPattern()` |
    `int` | `getOverheadContinuationThreshold()` |
    `int` | `getOverheadCountFactor()` |
    `int` | `getOverheadDataThreshold()` |
    `int` | `getOverheadWindowUpdateThreshold()` |
    `Processor` | `getProcessor​(SocketWrapperBase<?> socketWrapper, Adapter adapter)` |
    `long` | `getReadTimeout()` |
    `long` | `getStreamReadTimeout()` |
    `long` | `getStreamWriteTimeout()` |
    `java.lang.String` | `getUpgradeProtocolName()` |
    `long` | `getWriteTimeout()` |
    `void` | `setAllowedTrailerHeaders​(java.lang.String commaSeparatedHeaders)` |
    `void` | `setCompressibleMimeType​(java.lang.String valueS)` |
    `void` | `setCompression​(java.lang.String compression)` |
    `void` | `setCompressionMinSize​(int compressionMinSize)` |
    `void` | `setHttp11Protocol​(AbstractHttp11Protocol<?> http11Protocol)` |
    `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​(java.lang.String noCompressionUserAgents)` |
    `void` | `setOverheadContinuationThreshold​(int overheadContinuationThreshold)` |
    `void` | `setOverheadCountFactor​(int overheadCountFactor)` |
    `void` | `setOverheadDataThreshold​(int overheadDataThreshold)` |
    `void` | `setOverheadWindowUpdateThreshold​(int overheadWindowUpdateThreshold)` |
    `void` | `setReadTimeout​(long readTimeout)` |
    `void` | `setStreamReadTimeout​(long streamReadTimeout)` |
    `void` | `setStreamWriteTimeout​(long streamWriteTimeout)` |
    `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`

- - ### Constructor Detail

    - #### Http2Protocol

          public Http2Protocol()

  - ### Method Detail

    - #### getHttpUpgradeName

          public java.lang.String getHttpUpgradeName​(boolean isSSLEnabled)

      Specified by:
        `getHttpUpgradeName` in interface `UpgradeProtocol`
      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 interface `UpgradeProtocol`
      Returns:
        The byte sequence as listed in the IANA registry for this protocol or `null` if upgrade via ALPN is not supported.

    - #### getAlpnName

          public java.lang.String getAlpnName()

      Specified by:
        `getAlpnName` in interface `UpgradeProtocol`
      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. If `UpgradeProtocol.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

          public Processor getProcessor​(SocketWrapperBase<?> socketWrapper,
                                        Adapter adapter)

      Specified by:
        `getProcessor` in interface `UpgradeProtocol`
      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

          public InternalHttpUpgradeHandler getInternalUpgradeHandler​(Adapter adapter,
                                                                      Request coyoteRequest)

      Specified by:
        `getInternalUpgradeHandler` in interface `UpgradeProtocol`
      Parameters:
        `adapter` - The Adapter to use to configure the new upgrade handler
        `coyoteRequest` - A copy (may be incomplete) of the request that triggered the upgrade
      Returns:
        An instance of the HTTP upgrade handler for this protocol

    - #### accept

          public boolean accept​(Request request)

      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 interface `UpgradeProtocol`
      Parameters:
        `request` - The request that included an upgrade header for this protocol
      Returns:
        `true` if the request is accepted, otherwise `false`

    - #### 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)

    - #### setAllowedTrailerHeaders

          public void setAllowedTrailerHeaders​(java.lang.String commaSeparatedHeaders)

    - #### getAllowedTrailerHeaders

          public java.lang.String 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)

    - #### 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)

    - #### setCompression

          public void setCompression​(java.lang.String compression)

    - #### getCompression

          public java.lang.String getCompression()

    - #### getCompressionLevel

          protected int getCompressionLevel()

    - #### getNoCompressionUserAgents

          public java.lang.String getNoCompressionUserAgents()

    - #### getNoCompressionUserAgentsPattern

          protected java.util.regex.Pattern getNoCompressionUserAgentsPattern()

    - #### setNoCompressionUserAgents

          public void setNoCompressionUserAgents​(java.lang.String noCompressionUserAgents)

    - #### getCompressibleMimeType

          public java.lang.String getCompressibleMimeType()

    - #### setCompressibleMimeType

          public void setCompressibleMimeType​(java.lang.String valueS)

    - #### getCompressibleMimeTypes

          public java.lang.String[] getCompressibleMimeTypes()

    - #### getCompressionMinSize

          public int getCompressionMinSize()

    - #### setCompressionMinSize

          public void setCompressionMinSize​(int compressionMinSize)

    - #### getNoCompressionStrongETag

          @Deprecated
          public boolean getNoCompressionStrongETag()

      Deprecated.

    - #### setNoCompressionStrongETag

          @Deprecated
          public void setNoCompressionStrongETag​(boolean noCompressionStrongETag)

      Deprecated.

    - #### useCompression

          public boolean useCompression​(Request request,
                                        Response response)

    - #### getContinueResponseTimingInternal

          public ContinueResponseTiming getContinueResponseTimingInternal()

    - #### getHttp11Protocol

          public AbstractHttp11Protocol<?> getHttp11Protocol()

    - #### setHttp11Protocol

          public void setHttp11Protocol​(AbstractHttp11Protocol<?> http11Protocol)

    - #### getUpgradeProtocolName

          public java.lang.String getUpgradeProtocolName()

    - #### getGlobal

          public RequestGroupInfo getGlobal()