org.apache.coyote.http2

## Class Http2Protocol

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

- All Implemented Interfaces:
    UpgradeProtocol

      public class Http2Protocol
      extends Object
      implements UpgradeProtocol

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `Http2Protocol()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `accept(Request request)` Allows the implementation to examine the request and accept or reject it based on what it finds.
    `String` | `getAllowedTrailerHeaders()`
    `byte[]` | `getAlpnIdentifier()`
    `String` | `getAlpnName()`
    `String` | `getCompressibleMimeType()`
    `String[]` | `getCompressibleMimeTypes()`
    `String` | `getCompression()`
    `protected int` | `getCompressionLevel()`
    `int` | `getCompressionMinSize()`
    `ContinueResponseTiming` | `getContinueResponseTimingInternal()`
    `RequestGroupInfo` | `getGlobal()`
    `AbstractProtocol<?>` | `getHttp11Protocol()`
    `String` | `getHttpUpgradeName(boolean isSSLEnabled)`
    `int` | `getInitialWindowSize()`
    `boolean` | `getInitiatePingDisabled()`
    `InternalHttpUpgradeHandler` | `getInternalUpgradeHandler(SocketWrapperBase<?> socketWrapper, Adapter adapter, Request coyoteRequest)`
    `long` | `getKeepAliveTimeout()`
    `int` | `getMaxConcurrentStreamExecution()`
    `long` | `getMaxConcurrentStreams()`
    `int` | `getMaxHeaderCount()`
    `int` | `getMaxHeaderSize()`
    `int` | `getMaxTrailerCount()`
    `int` | `getMaxTrailerSize()`
    `boolean` | `getNoCompressionStrongETag()` Deprecated.
    `String` | `getNoCompressionUserAgents()`
    `protected Pattern` | `getNoCompressionUserAgentsPattern()`
    `int` | `getOverheadContinuationThreshold()`
    `int` | `getOverheadCountFactor()`
    `int` | `getOverheadDataThreshold()`
    `int` | `getOverheadWindowUpdateThreshold()`
    `Processor` | `getProcessor(SocketWrapperBase<?> socketWrapper, Adapter adapter)`
    `long` | `getReadTimeout()`
    `long` | `getStreamReadTimeout()`
    `long` | `getStreamWriteTimeout()`
    `String` | `getUpgradeProtocolName()`
    `boolean` | `getUseSendfile()`
    `long` | `getWriteTimeout()`
    `void` | `setAllowedTrailerHeaders(String commaSeparatedHeaders)`
    `void` | `setCompressibleMimeType(String valueS)`
    `void` | `setCompression(String compression)`
    `void` | `setCompressionMinSize(int compressionMinSize)`
    `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` | `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 Detail

    - #### Http2Protocol

          public Http2Protocol()

  - ### Method Detail

    - #### getHttpUpgradeName

          public 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 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(SocketWrapperBase<?> socketWrapper,
                                                                      Adapter adapter,
                                                                      Request coyoteRequest)

      Specified by:
        `getInternalUpgradeHandler` in interface `UpgradeProtocol`
      Parameters:
        `socketWrapper` - The socket
        `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)

    - #### getUseSendfile

          public boolean getUseSendfile()

    - #### setUseSendfile

          public void setUseSendfile(boolean useSendfile)

    - #### setAllowedTrailerHeaders

          public void setAllowedTrailerHeaders(String commaSeparatedHeaders)

    - #### getAllowedTrailerHeaders

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

    - #### getInitiatePingDisabled

          public boolean getInitiatePingDisabled()

    - #### setCompression

          public void setCompression(String compression)

    - #### getCompression

          public String getCompression()

    - #### getCompressionLevel

          protected int getCompressionLevel()

    - #### getNoCompressionUserAgents

          public String getNoCompressionUserAgents()

    - #### getNoCompressionUserAgentsPattern

          protected Pattern getNoCompressionUserAgentsPattern()

    - #### setNoCompressionUserAgents

          public void setNoCompressionUserAgents(String noCompressionUserAgents)

    - #### getCompressibleMimeType

          public String getCompressibleMimeType()

    - #### setCompressibleMimeType

          public void setCompressibleMimeType(String valueS)

    - #### getCompressibleMimeTypes

          public 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 AbstractProtocol<?> getHttp11Protocol()

    - #### setHttp11Protocol

          public void setHttp11Protocol(AbstractHttp11Protocol<?> http11Protocol)

      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 interface `UpgradeProtocol`
      Parameters:
        `http11Protocol` - The HTTP/1.1 protocol implementation that will initially handle any connections passed to this UpgradeProtocol via the HTTP upgrade mechanism

    - #### getUpgradeProtocolName

          public String getUpgradeProtocolName()

    - #### getGlobal

          public RequestGroupInfo getGlobal()

Copyright © 2000-2022 Apache Software Foundation. All Rights Reserved.