org.apache.coyote.http11

## Class Http11AprProtocol

- java.lang.Object
- - org.apache.coyote.AbstractProtocol
  - - org.apache.coyote.http11.AbstractHttp11Protocol
    - - org.apache.coyote.http11.Http11AprProtocol

All Implemented Interfaces:
  MBeanRegistration, ProtocolHandler

    public class Http11AprProtocol
    extends AbstractHttp11Protocol

Abstract the protocol implementation, including threading, etc. Processor is single threaded and specific to stream-based protocols, will not fit Jk protocols like JNI.

Author:
  Remy Maucherat, Costin Manolache

### Nested Class Summary

Nested Classes
`protected static class` `Http11AprProtocol.Http11ConnectionHandler`

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

`AbstractProtocol.AbstractConnectionHandler<S,P extends Processor<S>>, AbstractProtocol.RecycledProcessors<P extends Processor<S>,S>`

### Field Summary

### Fields inherited from class org.apache.coyote.http11.AbstractHttp11Protocol

`sm`

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

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

### Constructor Summary

Constructors
Constructor and Description
`Http11AprProtocol()`

### Method Summary

Methods
`boolean` `getDeferAccept()`
`protected AbstractEndpoint.Handler` `getHandler()` Obtain the handler associated with the underlying Endpoint
`protected Log` `getLog()` Concrete implementations need to provide access to their logger to be used by the abstract classes.
`protected String` `getNamePrefix()` Obtain the prefix to be used when construction a name for this protocol handler.
`int` `getPollerSize()`
`int` `getPollTime()`
`int` `getSendfileSize()`
`int` `getSendfileThreadCount()`
`String` `getSSLCACertificateFile()` SSL CA certificate file.
`String` `getSSLCACertificatePath()` SSL CA certificate path.
`String` `getSSLCARevocationFile()` SSL CA revocation file.
`String` `getSSLCARevocationPath()` SSL CA revocation path.
`String` `getSSLCertificateChainFile()` SSL certificate chain file.
`String` `getSSLCertificateFile()` SSL certificate file.
`String` `getSSLCertificateKeyFile()` SSL certificate key file.
`String` `getSSLCipherSuite()` SSL cipher suite.
`boolean` `getSSLDisableCompression()` Disable SSL compression.
`boolean` `getSSLHonorCipherOrder()` SSL honor cipher order.
`String` `getSSLPassword()` SSL password (if a cert is encrypted, and no password has been provided, a callback will ask for a password).
`String` `getSSLProtocol()` SSL protocol.
`String` `getSSLVerifyClient()` SSL verify client.
`int` `getSSLVerifyDepth()` SSL verify depth.
`boolean` `getUseSendfile()`
`boolean` `isAprRequired()` Requires APR/native library
`void` `setDeferAccept(boolean deferAccept)`
`void` `setPollerSize(int pollerSize)`
`void` `setPollTime(int pollTime)`
`void` `setSendfileSize(int sendfileSize)`
`void` `setSendfileThreadCount(int sendfileThreadCount)`
`void` `setSSLCACertificateFile(String SSLCACertificateFile)`
`void` `setSSLCACertificatePath(String SSLCACertificatePath)`
`void` `setSSLCARevocationFile(String SSLCARevocationFile)`
`void` `setSSLCARevocationPath(String SSLCARevocationPath)`
`void` `setSSLCertificateChainFile(String SSLCertificateChainFile)`
`void` `setSSLCertificateFile(String SSLCertificateFile)`
`void` `setSSLCertificateKeyFile(String SSLCertificateKeyFile)`
`void` `setSSLCipherSuite(String SSLCipherSuite)`
`void` `setSSLDisableCompression(boolean disable)`
`void` `setSSLHonorCipherOrder(boolean SSLHonorCipherOrder)`
`void` `setSSLPassword(String SSLPassword)`
`void` `setSSLProtocol(String SSLProtocol)`
`void` `setSSLVerifyClient(String SSLVerifyClient)`
`void` `setSSLVerifyDepth(int SSLVerifyDepth)`
`void` `setUseSendfile(boolean useSendfile)`

### Methods inherited from class org.apache.coyote.http11.AbstractHttp11Protocol

`getCompressableMimeType, getCompressableMimeTypes, getCompression, getCompressionMinSize, getConnectionUploadTimeout, getDisableUploadTimeout, getMaxExtensionSize, getMaxHttpHeaderSize, getMaxKeepAliveRequests, getMaxSavePostSize, getMaxTrailerSize, getNoCompressionUserAgents, getProtocolName, getRestrictedUserAgents, getSecure, getServer, getSocketBuffer, isSSLEnabled, setCompressableMimeType, setCompressableMimeTypes, setCompression, setCompressionMinSize, setConnectionUploadTimeout, setDisableUploadTimeout, setMaxExtensionSize, setMaxHttpHeaderSize, setMaxKeepAliveRequests, setMaxSavePostSize, setMaxTrailerSize, setNoCompressionUserAgents, setRestrictedUserAgents, setSecure, setServer, setSocketBuffer, setSSLEnabled`

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

`destroy, getAdapter, getAddress, getBacklog, getClientCertProvider, getConnectionCount, getConnectionTimeout, getDomain, getExecutor, getKeepAliveTimeout, getLocalPort, getMaxConnections, getMaxHeaderCount, getMaxThreads, getMinSpareThreads, getName, getNameIndex, getObjectName, getPort, getProcessorCache, getProperty, getSoLinger, getSoTimeout, getTcpNoDelay, getThreadPriority, init, pause, postDeregister, postRegister, preDeregister, preRegister, resume, setAdapter, setAddress, setBacklog, setClientCertProvider, setConnectionTimeout, setExecutor, setKeepAliveTimeout, setMaxConnections, setMaxHeaderCount, setMaxThreads, setMinSpareThreads, setPort, setProcessorCache, setProperty, setSoLinger, setSoTimeout, setTcpNoDelay, setThreadPriority, start, stop`

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

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

### Constructor Detail

#### Http11AprProtocol

    public Http11AprProtocol()

### Method Detail

#### getLog

    protected Log getLog()

Description copied from class: `AbstractProtocol`
Concrete implementations need to provide access to their logger to be used by the abstract classes.

Specified by:
  `getLog` in class `AbstractProtocol`

#### getHandler

    protected AbstractEndpoint.Handler getHandler()

Description copied from class: `AbstractProtocol`
Obtain the handler associated with the underlying Endpoint

Specified by:
  `getHandler` in class `AbstractProtocol`

#### isAprRequired

    public boolean isAprRequired()

Description copied from interface: `ProtocolHandler`
Requires APR/native library

Specified by:
  `isAprRequired` in interface `ProtocolHandler`
Overrides:
  `isAprRequired` in class `AbstractProtocol`

#### getUseSendfile

    public boolean getUseSendfile()

#### setUseSendfile

    public void setUseSendfile(boolean useSendfile)

#### getPollTime

    public int getPollTime()

#### setPollTime

    public void setPollTime(int pollTime)

#### setPollerSize

    public void setPollerSize(int pollerSize)

#### getPollerSize

    public int getPollerSize()

#### getSendfileSize

    public int getSendfileSize()

#### setSendfileSize

    public void setSendfileSize(int sendfileSize)

#### setSendfileThreadCount

    public void setSendfileThreadCount(int sendfileThreadCount)

#### getSendfileThreadCount

    public int getSendfileThreadCount()

#### getDeferAccept

    public boolean getDeferAccept()

#### setDeferAccept

    public void setDeferAccept(boolean deferAccept)

#### getSSLProtocol

    public String getSSLProtocol()

SSL protocol.

#### setSSLProtocol

    public void setSSLProtocol(String SSLProtocol)

#### getSSLPassword

    public String getSSLPassword()

SSL password (if a cert is encrypted, and no password has been provided, a callback will ask for a password).

#### setSSLPassword

    public void setSSLPassword(String SSLPassword)

#### getSSLCipherSuite

    public String getSSLCipherSuite()

SSL cipher suite.

#### setSSLCipherSuite

    public void setSSLCipherSuite(String SSLCipherSuite)

#### getSSLHonorCipherOrder

    public boolean getSSLHonorCipherOrder()

SSL honor cipher order. Set to `true` to enforce the server's cipher order instead of the default which is to allow the client to choose a preferred cipher.

#### setSSLHonorCipherOrder

    public void setSSLHonorCipherOrder(boolean SSLHonorCipherOrder)

#### getSSLCertificateFile

    public String getSSLCertificateFile()

SSL certificate file.

#### setSSLCertificateFile

    public void setSSLCertificateFile(String SSLCertificateFile)

#### getSSLCertificateKeyFile

    public String getSSLCertificateKeyFile()

SSL certificate key file.

#### setSSLCertificateKeyFile

    public void setSSLCertificateKeyFile(String SSLCertificateKeyFile)

#### getSSLCertificateChainFile

    public String getSSLCertificateChainFile()

SSL certificate chain file.

#### setSSLCertificateChainFile

    public void setSSLCertificateChainFile(String SSLCertificateChainFile)

#### getSSLCACertificatePath

    public String getSSLCACertificatePath()

SSL CA certificate path.

#### setSSLCACertificatePath

    public void setSSLCACertificatePath(String SSLCACertificatePath)

#### getSSLCACertificateFile

    public String getSSLCACertificateFile()

SSL CA certificate file.

#### setSSLCACertificateFile

    public void setSSLCACertificateFile(String SSLCACertificateFile)

#### getSSLCARevocationPath

    public String getSSLCARevocationPath()

SSL CA revocation path.

#### setSSLCARevocationPath

    public void setSSLCARevocationPath(String SSLCARevocationPath)

#### getSSLCARevocationFile

    public String getSSLCARevocationFile()

SSL CA revocation file.

#### setSSLCARevocationFile

    public void setSSLCARevocationFile(String SSLCARevocationFile)

#### getSSLVerifyClient

    public String getSSLVerifyClient()

SSL verify client.

#### setSSLVerifyClient

    public void setSSLVerifyClient(String SSLVerifyClient)

#### getSSLVerifyDepth

    public int getSSLVerifyDepth()

SSL verify depth.

#### setSSLVerifyDepth

    public void setSSLVerifyDepth(int SSLVerifyDepth)

#### getSSLDisableCompression

    public boolean getSSLDisableCompression()

Disable SSL compression.

#### setSSLDisableCompression

    public void setSSLDisableCompression(boolean disable)

#### getNamePrefix

    protected String getNamePrefix()

Description copied from class: `AbstractProtocol`
Obtain the prefix to be used when construction a name for this protocol handler. The name will be prefix-address-port.

Specified by:
  `getNamePrefix` in class `AbstractProtocol`