public abstract class AbstractAjpProcessor<S> extends AbstractProcessor<S>
Modifier and Type | Class and Description |
---|---|
protected class |
AbstractAjpProcessor.SocketInputBuffer
This class is an input buffer which will read its data from an input
stream.
|
protected class |
AbstractAjpProcessor.SocketOutputBuffer
This class is an output buffer which will write data to an output
stream.
|
Modifier and Type | Field and Description |
---|---|
protected boolean |
ajpFlush
Send AJP flush packet when flushing.
|
protected MessageBytes |
bodyBytes
Body message.
|
protected AjpMessage |
bodyMessage
Body message.
|
protected long |
bytesWritten
Bytes written to client for the current request.
|
protected MessageBytes |
certificates
Byte chunk for certs.
|
protected String |
clientCertProvider
When client certificate information is presented in a form other than
instances of
X509Certificate it needs to be
converted before it can be used and this property controls which JSSE
provider is used to perform the conversion. |
protected boolean |
empty
Body empty flag.
|
protected static byte[] |
endAndCloseMessageArray |
protected static byte[] |
endMessageArray
End message array.
|
protected boolean |
endOfStream
End of stream flag.
|
protected boolean |
finished
Finished response.
|
protected boolean |
first
First read.
|
protected static byte[] |
flushMessageArray
Flush message array.
|
protected byte[] |
getBodyMessageArray
GetBody message array.
|
protected int |
keepAliveTimeout
The number of milliseconds Tomcat will wait for a subsequent request
before closing the connection.
|
protected int |
packetSize
AJP packet size.
|
protected static byte[] |
pongMessageArray
Pong message array.
|
protected boolean |
replay
Replay read.
|
protected AjpMessage |
requestHeaderMessage
Header message.
|
protected String |
requiredSecret
Deprecated.
|
protected AjpMessage |
responseMessage
Message used for response composition.
|
protected String |
secret |
protected static StringManager |
sm
The string manager for this package.
|
protected MessageBytes |
tmpMB
Temp message bytes used for processing.
|
protected boolean |
tomcatAuthentication
Use Tomcat authentication ?
|
adapter, asyncStateMachine, endpoint, hostNameC, request, response, socketWrapper, userDataHelper
Constructor and Description |
---|
AbstractAjpProcessor(int packetSize,
AbstractEndpoint<S> endpoint) |
Modifier and Type | Method and Description |
---|---|
void |
action(ActionCode actionCode,
Object param)
Send an action to the connector.
|
protected abstract void |
actionInternal(ActionCode actionCode,
Object param) |
AbstractEndpoint.Handler.SocketState |
asyncDispatch(SocketStatus status)
Process in-progress Servlet 3.0 Async requests.
|
AbstractEndpoint.Handler.SocketState |
event(SocketStatus status)
Process in-progress Comet requests.
|
protected void |
finish()
Finish AJP response.
|
protected void |
flush(boolean explicit)
Callback to write data from the buffer.
|
boolean |
getAjpFlush() |
String |
getClientCertProvider() |
HttpUpgradeHandler |
getHttpUpgradeHandler() |
int |
getKeepAliveTimeout() |
boolean |
getTomcatAuthentication() |
boolean |
getTomcatAuthorization() |
UpgradeInbound |
getUpgradeInbound()
Deprecated.
Will be removed in Tomcat 8.0.x.
|
boolean |
isComet() |
boolean |
isUpgrade() |
protected abstract void |
output(byte[] src,
int offset,
int length) |
protected void |
populateHost()
Called when a host header is not present in the request (e.g.
|
protected void |
populatePort()
Called when a host header is not present or is empty in the request (e.g.
|
protected void |
prepareRequest()
After reading the request headers, we have to setup the request filters.
|
protected void |
prepareResponse()
When committing the response, we have to validate the set of headers, as
well as setup the response filters.
|
protected abstract boolean |
receive() |
void |
recycle(boolean socketClosing)
Recycle the processor, ready for the next request which may be on the
same connection or a different connection.
|
protected boolean |
refillReadBuffer()
Get more request body data from the web server and store it in the
internal buffer.
|
protected abstract void |
resetTimeouts()
Provides a mechanism for those connector implementations (currently only
NIO) that need to reset timeouts from Async timeouts to standard HTTP
timeouts once async processing completes.
|
void |
setAjpFlush(boolean ajpFlush) |
void |
setAllowedRequestAttributesPatternPattern(Pattern allowedRequestAttributesPatternPattern) |
void |
setClientCertProvider(String s) |
void |
setKeepAliveTimeout(int timeout) |
void |
setRequiredSecret(String requiredSecret)
Deprecated.
|
void |
setSecret(String secret) |
void |
setSslSupport(SSLSupport sslSupport) |
void |
setTomcatAuthentication(boolean tomcatAuthentication) |
void |
setTomcatAuthorization(boolean tomcatAuthorization) |
AbstractEndpoint.Handler.SocketState |
upgradeDispatch()
Processes data received on a connection that has been through an HTTP
upgrade.
|
AbstractEndpoint.Handler.SocketState |
upgradeDispatch(SocketStatus status) |
asyncPostProcess, errorDispatch, getAdapter, getAsyncStateMachine, getEndpoint, getErrorState, getExecutor, getLog, getMaxCookieCount, getRequest, getSocketWrapper, isAsync, parseHost, process, resetErrorState, setAdapter, setErrorState, setMaxCookieCount, setSocketWrapper
protected static final StringManager sm
protected static final byte[] endMessageArray
protected static final byte[] endAndCloseMessageArray
protected static final byte[] flushMessageArray
protected static final byte[] pongMessageArray
protected final byte[] getBodyMessageArray
protected int packetSize
protected AjpMessage requestHeaderMessage
protected AjpMessage responseMessage
protected AjpMessage bodyMessage
protected MessageBytes bodyBytes
protected MessageBytes tmpMB
protected MessageBytes certificates
protected boolean endOfStream
protected boolean empty
protected boolean first
protected boolean replay
protected boolean finished
protected long bytesWritten
protected boolean ajpFlush
protected int keepAliveTimeout
protected boolean tomcatAuthentication
@Deprecated protected String requiredSecret
protected String secret
protected String clientCertProvider
X509Certificate
it needs to be
converted before it can be used and this property controls which JSSE
provider is used to perform the conversion. For example it is used with
the AJP connectors, the HTTP APR connector and with the
SSLValve
. If not specified, the
default provider will be used.public AbstractAjpProcessor(int packetSize, AbstractEndpoint<S> endpoint)
public boolean getAjpFlush()
public void setAjpFlush(boolean ajpFlush)
public int getKeepAliveTimeout()
public void setKeepAliveTimeout(int timeout)
public boolean getTomcatAuthentication()
public void setTomcatAuthentication(boolean tomcatAuthentication)
public boolean getTomcatAuthorization()
public void setTomcatAuthorization(boolean tomcatAuthorization)
public void setSecret(String secret)
@Deprecated public void setRequiredSecret(String requiredSecret)
public String getClientCertProvider()
public void setClientCertProvider(String s)
public void setAllowedRequestAttributesPatternPattern(Pattern allowedRequestAttributesPatternPattern)
public final void action(ActionCode actionCode, Object param)
actionCode
- Type of the actionparam
- Action parameterpublic AbstractEndpoint.Handler.SocketState asyncDispatch(SocketStatus status)
AbstractProcessor
asyncDispatch
in interface Processor<S>
asyncDispatch
in class AbstractProcessor<S>
public void setSslSupport(SSLSupport sslSupport)
public AbstractEndpoint.Handler.SocketState event(SocketStatus status) throws IOException
AbstractProcessor
event
in interface Processor<S>
event
in class AbstractProcessor<S>
IOException
public AbstractEndpoint.Handler.SocketState upgradeDispatch() throws IOException
AbstractProcessor
upgradeDispatch
in interface Processor<S>
upgradeDispatch
in class AbstractProcessor<S>
IOException
- An IO error occurred@Deprecated public UpgradeInbound getUpgradeInbound()
getUpgradeInbound
in interface Processor<S>
getUpgradeInbound
in class AbstractProcessor<S>
public AbstractEndpoint.Handler.SocketState upgradeDispatch(SocketStatus status) throws IOException
IOException
public HttpUpgradeHandler getHttpUpgradeHandler()
public void recycle(boolean socketClosing)
socketClosing
- Indicates if the socket is about to be closed
allowing the processor to perform any additional
clean-up that may be requiredprotected abstract void actionInternal(ActionCode actionCode, Object param)
protected abstract void resetTimeouts()
protected abstract void output(byte[] src, int offset, int length) throws IOException
IOException
protected abstract boolean receive() throws IOException
IOException
public final boolean isComet()
public final boolean isUpgrade()
protected boolean refillReadBuffer() throws IOException
IOException
- An IO error occurredprotected void prepareRequest()
protected void populateHost()
The default implementation is a NO-OP.
This implementation populates the server name from the local name provided by the AJP message.
populateHost
in class AbstractProcessor<S>
protected void populatePort()
The default implementation is a NO-OP.
This implementation populates the server port from the local port provided by the AJP message.
populatePort
in class AbstractProcessor<S>
protected void prepareResponse() throws IOException
IOException
- An IO error occurredprotected void flush(boolean explicit) throws IOException
explicit
- If true
a flush message is sent, otherwise this
method is a NO-OPIOException
- An IO error occurredprotected void finish() throws IOException
IOException
- An IO error occurredCopyright © 2000-2021 Apache Software Foundation. All Rights Reserved.