org.apache.coyote.http11

## Class AbstractHttp11Protocol<S>

- java.lang.Object
- - org.apache.coyote.AbstractProtocol<S>
  - - org.apache.coyote.http11.AbstractHttp11Protocol<S>

- All Implemented Interfaces:
    MBeanRegistration, ProtocolHandler
  Direct Known Subclasses:
    AbstractHttp11JsseProtocol, Http11AprProtocol

      public abstract class AbstractHttp11Protocol<S>
      extends AbstractProtocol<S>

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class org.apache.coyote.AbstractProtocol

      `AbstractProtocol.AsyncTimeout, AbstractProtocol.ConnectionHandler<S>, AbstractProtocol.RecycledProcessors`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected static StringManager` | `sm`

    - ### Fields inherited from class org.apache.coyote.AbstractProtocol

      `adapter, clientCertProvider, domain, mserver, oname, processorCache, rgOname, tpOname`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `AbstractHttp11Protocol(AbstractEndpoint<S> endpoint)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addAllowedTrailerHeader(String header)`
    `void` | `addSslHostConfig(SSLHostConfig sslHostConfig)`
    `void` | `addUpgradeProtocol(UpgradeProtocol upgradeProtocol)`
    `protected Processor` | `createProcessor()` Create and configure a new Processor instance for the current protocol implementation.
    `protected Processor` | `createUpgradeProcessor(SocketWrapperBase<?> socket, UpgradeToken upgradeToken)`
    `SSLHostConfig[]` | `findSslHostConfigs()`
    `UpgradeProtocol[]` | `findUpgradeProtocols()`
    `String` | `getAlgorithm()`
    `String` | `getAllowedTrailerHeaders()`
    `String` | `getCiphers()`
    `String` | `getClientAuth()`
    `String` | `getCompressableMimeType()` Deprecated. Use `getCompressibleMimeType()`
    `String[]` | `getCompressableMimeTypes()` Deprecated. Use `getCompressibleMimeTypes()`
    `String` | `getCompressibleMimeType()`
    `String[]` | `getCompressibleMimeTypes()`
    `String` | `getCompression()`
    `int` | `getCompressionMinSize()`
    `int` | `getConnectionUploadTimeout()`
    `String` | `getCrlFile()`
    `String` | `getDefaultSSLHostConfigName()`
    `boolean` | `getDisableUploadTimeout()`
    `protected AbstractEndpoint<S>` | `getEndpoint()` Over-ridden here to make the method visible to nested classes.
    `String` | `getKeyAlias()`
    `String` | `getKeyPass()`
    `String` | `getKeystoreFile()`
    `String` | `getKeystorePass()`
    `String` | `getKeystoreProvider()`
    `String` | `getKeystoreType()`
    `int` | `getMaxExtensionSize()`
    `int` | `getMaxHttpHeaderSize()`
    `int` | `getMaxKeepAliveRequests()`
    `int` | `getMaxSavePostSize()`
    `int` | `getMaxSwallowSize()`
    `int` | `getMaxTrailerSize()`
    `UpgradeProtocol` | `getNegotiatedProtocol(String negotiatedName)` Find a suitable handler for the protocol negotiated at the network layer.
    `String` | `getNoCompressionUserAgents()`
    `protected String` | `getProtocolName()` Obtain the name of the protocol, (Http, Ajp, etc.).
    `String` | `getRestrictedUserAgents()`
    `boolean` | `getSecure()`
    `String` | `getServer()`
    `boolean` | `getServerRemoveAppProvidedValues()`
    `int` | `getSessionCacheSize()`
    `int` | `getSessionTimeout()`
    `String` | `getSSLCACertificateFile()`
    `String` | `getSSLCACertificatePath()`
    `String` | `getSSLCARevocationFile()`
    `String` | `getSSLCARevocationPath()`
    `String` | `getSSLCertificateChainFile()`
    `String` | `getSSLCertificateFile()`
    `String` | `getSSLCertificateKeyFile()`
    `String` | `getSSLCipherSuite()`
    `boolean` | `getSSLDisableCompression()`
    `boolean` | `getSSLDisableSessionTickets()`
    `String` | `getSslEnabledProtocols()`
    `String` | `getSSLHonorCipherOrder()`
    `String` | `getSSLPassword()`
    `String` | `getSslProtocol()`
    `String` | `getSSLProtocol()`
    `String` | `getSSLVerifyClient()`
    `int` | `getSSLVerifyDepth()`
    `String` | `getTrustManagerClassName()`
    `int` | `getTrustMaxCertLength()`
    `String` | `getTruststoreAlgorithm()`
    `String` | `getTruststoreFile()`
    `String` | `getTruststorePass()`
    `String` | `getTruststoreProvider()`
    `String` | `getTruststoreType()`
    `UpgradeProtocol` | `getUpgradeProtocol(String upgradedName)` Find a suitable handler for the protocol upgraded name specified.
    `boolean` | `getUseSendfile()`
    `String` | `getUseServerCipherSuitesOrder()`
    `void` | `init()` Initialise the protocol.
    `boolean` | `isSSLEnabled()`
    `void` | `removeAllowedTrailerHeader(String header)`
    `void` | `setAlgorithm(String keyManagerAlgorithm)`
    `void` | `setAllowedTrailerHeaders(String commaSeparatedHeaders)`
    `void` | `setCiphers(String ciphers)`
    `void` | `setClientAuth(String certificateVerification)`
    `void` | `setCompressableMimeType(String valueS)` Deprecated. Use `setCompressibleMimeType(String)`
    `void` | `setCompressibleMimeType(String valueS)`
    `void` | `setCompression(String valueS)`
    `void` | `setCompressionMinSize(int valueI)`
    `void` | `setConnectionUploadTimeout(int i)`
    `void` | `setCrlFile(String certificateRevocationListFile)`
    `void` | `setDefaultSSLHostConfigName(String defaultSSLHostConfigName)`
    `void` | `setDisableUploadTimeout(boolean isDisabled)`
    `void` | `setKeyAlias(String certificateKeyAlias)`
    `void` | `setKeyPass(String certificateKeyPassword)`
    `void` | `setKeystoreFile(String keystoreFile)`
    `void` | `setKeystorePass(String certificateKeystorePassword)`
    `void` | `setKeystoreProvider(String certificateKeystoreProvider)`
    `void` | `setKeystoreType(String certificateKeystoreType)`
    `void` | `setMaxExtensionSize(int maxExtensionSize)`
    `void` | `setMaxHttpHeaderSize(int valueI)`
    `void` | `setMaxKeepAliveRequests(int mkar)`
    `void` | `setMaxSavePostSize(int valueI)`
    `void` | `setMaxSwallowSize(int maxSwallowSize)`
    `void` | `setMaxTrailerSize(int maxTrailerSize)`
    `void` | `setNoCompressionUserAgents(String valueS)`
    `void` | `setRestrictedUserAgents(String valueS)`
    `void` | `setSecure(boolean b)`
    `void` | `setServer(String server)`
    `void` | `setServerRemoveAppProvidedValues(boolean serverRemoveAppProvidedValues)`
    `void` | `setSessionCacheSize(int sessionCacheSize)`
    `void` | `setSessionTimeout(int sessionTimeout)`
    `void` | `setSSLCACertificateFile(String caCertificateFile)`
    `void` | `setSSLCACertificatePath(String caCertificatePath)`
    `void` | `setSSLCARevocationFile(String certificateRevocationListFile)`
    `void` | `setSSLCARevocationPath(String certificateRevocationListPath)`
    `void` | `setSSLCertificateChainFile(String certificateChainFile)`
    `void` | `setSSLCertificateFile(String certificateFile)`
    `void` | `setSSLCertificateKeyFile(String certificateKeyFile)`
    `void` | `setSSLCipherSuite(String ciphers)`
    `void` | `setSSLDisableCompression(boolean disableCompression)`
    `void` | `setSSLDisableSessionTickets(boolean disableSessionTickets)`
    `void` | `setSSLEnabled(boolean SSLEnabled)`
    `void` | `setSslEnabledProtocols(String enabledProtocols)`
    `void` | `setSSLHonorCipherOrder(String honorCipherOrder)`
    `void` | `setSSLPassword(String certificateKeyPassword)`
    `void` | `setSslProtocol(String sslProtocol)`
    `void` | `setSSLProtocol(String sslProtocol)`
    `void` | `setSSLVerifyClient(String certificateVerification)`
    `void` | `setSSLVerifyDepth(int certificateVerificationDepth)`
    `void` | `setTrustManagerClassName(String trustManagerClassName)`
    `void` | `setTrustMaxCertLength(int certificateVerificationDepth)`
    `void` | `setTruststoreAlgorithm(String truststoreAlgorithm)`
    `void` | `setTruststoreFile(String truststoreFile)`
    `void` | `setTruststorePass(String truststorePassword)`
    `void` | `setTruststoreProvider(String truststoreProvider)`
    `void` | `setTruststoreType(String truststoreType)`
    `void` | `setUseSendfile(boolean useSendfile)`
    `void` | `setUseServerCipherSuitesOrder(String honorCipherOrder)`

    - ### Methods inherited from class org.apache.coyote.AbstractProtocol

      `addWaitingProcessor, destroy, getAcceptCount, getAcceptorThreadCount, getAcceptorThreadPriority, getAdapter, getAddress, getAsyncTimeout, getBacklog, getClientCertProvider, getConnectionCount, getConnectionLinger, getConnectionTimeout, getDomain, getExecutor, getHandler, getKeepAliveTimeout, getLocalPort, getLog, getMaxConnections, getMaxHeaderCount, getMaxThreads, getMinSpareThreads, getName, getNameIndex, getNamePrefix, getObjectName, getPort, getProcessorCache, getProperty, getSendReasonPhrase, getSoLinger, getSoTimeout, getTcpNoDelay, getThreadPriority, isAprRequired, isSendfileSupported, pause, postDeregister, postRegister, preDeregister, preRegister, removeWaitingProcessor, resume, setAcceptCount, setAcceptorThreadCount, setAcceptorThreadPriority, setAdapter, setAddress, setBacklog, setClientCertProvider, setConnectionLinger, setConnectionTimeout, setExecutor, setHandler, setKeepAliveTimeout, setMaxConnections, setMaxHeaderCount, setMaxThreads, setMinSpareThreads, setPort, setProcessorCache, setProperty, setSendReasonPhrase, setSoLinger, setSoTimeout, setTcpNoDelay, setThreadPriority, start, stop`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### sm

          protected static final StringManager sm

  - ### Constructor Detail

    - #### AbstractHttp11Protocol

          public AbstractHttp11Protocol(AbstractEndpoint<S> endpoint)

  - ### Method Detail

    - #### init

          public void init()
                    throws Exception

      Description copied from interface: `ProtocolHandler`
      Initialise the protocol.
      Specified by:
        `init` in interface `ProtocolHandler`
      Overrides:
        `init` in class `AbstractProtocol<S>`
      Throws:
        `Exception` - If the protocol handler fails to initialise

    - #### getProtocolName

          protected String getProtocolName()

      Description copied from class: `AbstractProtocol`
      Obtain the name of the protocol, (Http, Ajp, etc.). Used with JMX.
      Specified by:
        `getProtocolName` in class `AbstractProtocol<S>`
      Returns:
        the protocol name

    - #### getEndpoint

          protected AbstractEndpoint<S> getEndpoint()

      Over-ridden here to make the method visible to nested classes.

      Overrides:
        `getEndpoint` in class `AbstractProtocol<S>`

    - #### getMaxSavePostSize

          public int getMaxSavePostSize()

    - #### setMaxSavePostSize

          public void setMaxSavePostSize(int valueI)

    - #### getMaxHttpHeaderSize

          public int getMaxHttpHeaderSize()

    - #### setMaxHttpHeaderSize

          public void setMaxHttpHeaderSize(int valueI)

    - #### getConnectionUploadTimeout

          public int getConnectionUploadTimeout()

    - #### setConnectionUploadTimeout

          public void setConnectionUploadTimeout(int i)

    - #### getDisableUploadTimeout

          public boolean getDisableUploadTimeout()

    - #### setDisableUploadTimeout

          public void setDisableUploadTimeout(boolean isDisabled)

    - #### getCompression

          public String getCompression()

    - #### setCompression

          public void setCompression(String valueS)

    - #### getNoCompressionUserAgents

          public String getNoCompressionUserAgents()

    - #### setNoCompressionUserAgents

          public void setNoCompressionUserAgents(String valueS)

    - #### getCompressableMimeType

          @Deprecated
          public String getCompressableMimeType()

      Deprecated. Use `getCompressibleMimeType()`
      Returns:
        See `getCompressibleMimeType()`

    - #### setCompressableMimeType

          @Deprecated
          public void setCompressableMimeType(String valueS)

      Deprecated. Use `setCompressibleMimeType(String)`
      Parameters:
        `valueS` - See `setCompressibleMimeType(String)`

    - #### getCompressableMimeTypes

          @Deprecated
          public String[] getCompressableMimeTypes()

      Deprecated. Use `getCompressibleMimeTypes()`
      Returns:
        See `getCompressibleMimeTypes()`

    - #### getCompressibleMimeType

          public String getCompressibleMimeType()

    - #### setCompressibleMimeType

          public void setCompressibleMimeType(String valueS)

    - #### getCompressibleMimeTypes

          public String[] getCompressibleMimeTypes()

    - #### getCompressionMinSize

          public int getCompressionMinSize()

    - #### setCompressionMinSize

          public void setCompressionMinSize(int valueI)

    - #### getRestrictedUserAgents

          public String getRestrictedUserAgents()

    - #### setRestrictedUserAgents

          public void setRestrictedUserAgents(String valueS)

    - #### getServer

          public String getServer()

    - #### setServer

          public void setServer(String server)

    - #### getServerRemoveAppProvidedValues

          public boolean getServerRemoveAppProvidedValues()

    - #### setServerRemoveAppProvidedValues

          public void setServerRemoveAppProvidedValues(boolean serverRemoveAppProvidedValues)

    - #### getMaxTrailerSize

          public int getMaxTrailerSize()

    - #### setMaxTrailerSize

          public void setMaxTrailerSize(int maxTrailerSize)

    - #### getMaxExtensionSize

          public int getMaxExtensionSize()

    - #### setMaxExtensionSize

          public void setMaxExtensionSize(int maxExtensionSize)

    - #### getMaxSwallowSize

          public int getMaxSwallowSize()

    - #### setMaxSwallowSize

          public void setMaxSwallowSize(int maxSwallowSize)

    - #### getSecure

          public boolean getSecure()

    - #### setSecure

          public void setSecure(boolean b)

    - #### setAllowedTrailerHeaders

          public void setAllowedTrailerHeaders(String commaSeparatedHeaders)

    - #### getAllowedTrailerHeaders

          public String getAllowedTrailerHeaders()

    - #### addAllowedTrailerHeader

          public void addAllowedTrailerHeader(String header)

    - #### removeAllowedTrailerHeader

          public void removeAllowedTrailerHeader(String header)

    - #### addUpgradeProtocol

          public void addUpgradeProtocol(UpgradeProtocol upgradeProtocol)

    - #### findUpgradeProtocols

          public UpgradeProtocol[] findUpgradeProtocols()

    - #### getNegotiatedProtocol

          public UpgradeProtocol getNegotiatedProtocol(String negotiatedName)

      Description copied from class: `AbstractProtocol`
      Find a suitable handler for the protocol negotiated at the network layer.
      Specified by:
        `getNegotiatedProtocol` in class `AbstractProtocol<S>`
      Parameters:
        `negotiatedName` - The name of the requested negotiated protocol.
      Returns:
        The instance where `UpgradeProtocol.getAlpnName()` matches the requested protocol

    - #### getUpgradeProtocol

          public UpgradeProtocol getUpgradeProtocol(String upgradedName)

      Description copied from class: `AbstractProtocol`
      Find a suitable handler for the protocol upgraded name specified. This is used for direct connection protocol selection.
      Specified by:
        `getUpgradeProtocol` in class `AbstractProtocol<S>`
      Parameters:
        `upgradedName` - The name of the requested negotiated protocol.
      Returns:
        The instance where `UpgradeProtocol.getAlpnName()` matches the requested protocol

    - #### isSSLEnabled

          public boolean isSSLEnabled()

    - #### setSSLEnabled

          public void setSSLEnabled(boolean SSLEnabled)

    - #### getUseSendfile

          public boolean getUseSendfile()

    - #### setUseSendfile

          public void setUseSendfile(boolean useSendfile)

    - #### getMaxKeepAliveRequests

          public int getMaxKeepAliveRequests()

      Returns:
        The maximum number of requests which can be performed over a keep-alive connection. The default is the same as for Apache HTTP Server (100).

    - #### setMaxKeepAliveRequests

          public void setMaxKeepAliveRequests(int mkar)

    - #### getDefaultSSLHostConfigName

          public String getDefaultSSLHostConfigName()

    - #### setDefaultSSLHostConfigName

          public void setDefaultSSLHostConfigName(String defaultSSLHostConfigName)

    - #### addSslHostConfig

          public void addSslHostConfig(SSLHostConfig sslHostConfig)

    - #### findSslHostConfigs

          public SSLHostConfig[] findSslHostConfigs()

    - #### getSslEnabledProtocols

          public String getSslEnabledProtocols()

    - #### setSslEnabledProtocols

          public void setSslEnabledProtocols(String enabledProtocols)

    - #### getSSLProtocol

          public String getSSLProtocol()

    - #### setSSLProtocol

          public void setSSLProtocol(String sslProtocol)

    - #### getKeystoreFile

          public String getKeystoreFile()

    - #### setKeystoreFile

          public void setKeystoreFile(String keystoreFile)

    - #### getSSLCertificateChainFile

          public String getSSLCertificateChainFile()

    - #### setSSLCertificateChainFile

          public void setSSLCertificateChainFile(String certificateChainFile)

    - #### getSSLCertificateFile

          public String getSSLCertificateFile()

    - #### setSSLCertificateFile

          public void setSSLCertificateFile(String certificateFile)

    - #### getSSLCertificateKeyFile

          public String getSSLCertificateKeyFile()

    - #### setSSLCertificateKeyFile

          public void setSSLCertificateKeyFile(String certificateKeyFile)

    - #### getAlgorithm

          public String getAlgorithm()

    - #### setAlgorithm

          public void setAlgorithm(String keyManagerAlgorithm)

    - #### getClientAuth

          public String getClientAuth()

    - #### setClientAuth

          public void setClientAuth(String certificateVerification)

    - #### getSSLVerifyClient

          public String getSSLVerifyClient()

    - #### setSSLVerifyClient

          public void setSSLVerifyClient(String certificateVerification)

    - #### getTrustMaxCertLength

          public int getTrustMaxCertLength()

    - #### setTrustMaxCertLength

          public void setTrustMaxCertLength(int certificateVerificationDepth)

    - #### getSSLVerifyDepth

          public int getSSLVerifyDepth()

    - #### setSSLVerifyDepth

          public void setSSLVerifyDepth(int certificateVerificationDepth)

    - #### getUseServerCipherSuitesOrder

          public String getUseServerCipherSuitesOrder()

    - #### setUseServerCipherSuitesOrder

          public void setUseServerCipherSuitesOrder(String honorCipherOrder)

    - #### getSSLHonorCipherOrder

          public String getSSLHonorCipherOrder()

    - #### setSSLHonorCipherOrder

          public void setSSLHonorCipherOrder(String honorCipherOrder)

    - #### getCiphers

          public String getCiphers()

    - #### setCiphers

          public void setCiphers(String ciphers)

    - #### getSSLCipherSuite

          public String getSSLCipherSuite()

    - #### setSSLCipherSuite

          public void setSSLCipherSuite(String ciphers)

    - #### getKeystorePass

          public String getKeystorePass()

    - #### setKeystorePass

          public void setKeystorePass(String certificateKeystorePassword)

    - #### getKeyPass

          public String getKeyPass()

    - #### setKeyPass

          public void setKeyPass(String certificateKeyPassword)

    - #### getSSLPassword

          public String getSSLPassword()

    - #### setSSLPassword

          public void setSSLPassword(String certificateKeyPassword)

    - #### getCrlFile

          public String getCrlFile()

    - #### setCrlFile

          public void setCrlFile(String certificateRevocationListFile)

    - #### getSSLCARevocationFile

          public String getSSLCARevocationFile()

    - #### setSSLCARevocationFile

          public void setSSLCARevocationFile(String certificateRevocationListFile)

    - #### getSSLCARevocationPath

          public String getSSLCARevocationPath()

    - #### setSSLCARevocationPath

          public void setSSLCARevocationPath(String certificateRevocationListPath)

    - #### getKeystoreType

          public String getKeystoreType()

    - #### setKeystoreType

          public void setKeystoreType(String certificateKeystoreType)

    - #### getKeystoreProvider

          public String getKeystoreProvider()

    - #### setKeystoreProvider

          public void setKeystoreProvider(String certificateKeystoreProvider)

    - #### getKeyAlias

          public String getKeyAlias()

    - #### setKeyAlias

          public void setKeyAlias(String certificateKeyAlias)

    - #### getTruststoreAlgorithm

          public String getTruststoreAlgorithm()

    - #### setTruststoreAlgorithm

          public void setTruststoreAlgorithm(String truststoreAlgorithm)

    - #### getTruststoreFile

          public String getTruststoreFile()

    - #### setTruststoreFile

          public void setTruststoreFile(String truststoreFile)

    - #### getTruststorePass

          public String getTruststorePass()

    - #### setTruststorePass

          public void setTruststorePass(String truststorePassword)

    - #### getTruststoreType

          public String getTruststoreType()

    - #### setTruststoreType

          public void setTruststoreType(String truststoreType)

    - #### getTruststoreProvider

          public String getTruststoreProvider()

    - #### setTruststoreProvider

          public void setTruststoreProvider(String truststoreProvider)

    - #### getSslProtocol

          public String getSslProtocol()

    - #### setSslProtocol

          public void setSslProtocol(String sslProtocol)

    - #### getSessionCacheSize

          public int getSessionCacheSize()

    - #### setSessionCacheSize

          public void setSessionCacheSize(int sessionCacheSize)

    - #### getSessionTimeout

          public int getSessionTimeout()

    - #### setSessionTimeout

          public void setSessionTimeout(int sessionTimeout)

    - #### getSSLCACertificatePath

          public String getSSLCACertificatePath()

    - #### setSSLCACertificatePath

          public void setSSLCACertificatePath(String caCertificatePath)

    - #### getSSLCACertificateFile

          public String getSSLCACertificateFile()

    - #### setSSLCACertificateFile

          public void setSSLCACertificateFile(String caCertificateFile)

    - #### getSSLDisableCompression

          public boolean getSSLDisableCompression()

    - #### setSSLDisableCompression

          public void setSSLDisableCompression(boolean disableCompression)

    - #### getSSLDisableSessionTickets

          public boolean getSSLDisableSessionTickets()

    - #### setSSLDisableSessionTickets

          public void setSSLDisableSessionTickets(boolean disableSessionTickets)

    - #### getTrustManagerClassName

          public String getTrustManagerClassName()

    - #### setTrustManagerClassName

          public void setTrustManagerClassName(String trustManagerClassName)

    - #### createProcessor

          protected Processor createProcessor()

      Description copied from class: `AbstractProtocol`
      Create and configure a new Processor instance for the current protocol implementation.
      Specified by:
        `createProcessor` in class `AbstractProtocol<S>`
      Returns:
        A fully configured Processor instance that is ready to use

    - #### createUpgradeProcessor

          protected Processor createUpgradeProcessor(SocketWrapperBase<?> socket,
                                         UpgradeToken upgradeToken)

      Specified by:
        `createUpgradeProcessor` in class `AbstractProtocol<S>`

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