Overview Package Class Tree Deprecated Help PREV CLASS NEXT CLASS FRAMES NO FRAMES SUMMARY: NESTED | FIELD | CONSTR | METHOD DETAIL: FIELD | CONSTR | METHOD
org.apache.ajp
Class RequestHandlerjava.lang.Object org.apache.ajp.AjpHandler org.apache.ajp.RequestHandler
- public class RequestHandler
- extends AjpHandler
Handle messages related with basic request information. This object can handle the following incoming messages: - "FORWARD_REQUEST" input message ( sent when a request is passed from the web server ) - "PING REQUEST" input message (sent by the web server to determine if tomcat is not frozen, a PONG REPLY will be sent back) - "RECEIVE_BODY_CHUNK" input ( sent by container to pass more body, in response to GET_BODY_CHUNK ) It can handle the following outgoing messages: - SEND_HEADERS. Pass the status code and headers. - SEND_BODY_CHUNK. Send a chunk of body - GET_BODY_CHUNK. Request a chunk of body data - END_RESPONSE. Notify the end of a request processing.
- Author:
- Henri Gomez [hgomez@apache.org], Dan Milstein [danmil@shore.net], Keith Wannamaker [Keith@Wannamaker.org], Costin Manolache
Fields inherited from class org.apache.ajp.AjpHandler UNKNOWN
Constructor Summary RequestHandler()
Method Summary int available(Ajp13 ch)
void beginSendHeaders(Ajp13 ch, Ajp13Packet outBuf, int status, java.lang.String statusMessage, int numHeaders)
protected int decodeRequest(Ajp13 ch, Ajp13Packet msg, BaseRequest req)
Parse a FORWARD_REQUEST packet from the web server and store its properties in the passed-in request object.int doRead(Ajp13 ch)
Return the next byte of request body data (to a servlet).int doRead(Ajp13 ch, byte[] b, int off, int len)
Store a chunk of request data into the passed-in byte buffer.void doWrite(Ajp13 ch, Ajp13Packet outBuf, byte[] b, int off, int len)
Send a chunk of response body data to the web server and on to the browser.void endSendHeaders(Ajp13 ch, Ajp13Packet outBuf)
void finish(Ajp13 ch, Ajp13Packet outBuf)
Signal the web server that the servlet has finished handling this request, and that the connection can be reused.int handleAjpMessage(int type, Ajp13 channel, Ajp13Packet ajp, BaseRequest req)
Execute the callbackprotected int headerNameToSc(java.lang.String name)
Translate an HTTP response header name to an integer code if possible.void init(Ajp13 ajp14)
boolean refillReadBuffer(Ajp13 ch)
Get more request body data from the web server and store it in the internal buffer.int sendCPong(Ajp13 ch, Ajp13Packet outBuf)
Send a CPONG REPLY to web server to its CPING requestvoid sendHeader(Ajp13Packet outBuf, java.lang.String name, java.lang.String value)
void sendHeaders(Ajp13 ch, Ajp13Packet outBuf, int status, MimeHeaders headers)
Send the HTTP headers back to the web server and on to the browser.void sendHeaders(Ajp13 ch, Ajp13Packet outBuf, int status, java.lang.String statusMessage, MimeHeaders headers)
Send the HTTP headers back to the web server and on to the browser.void setDebug(int debug)
void setLogger(Logger l)
Methods inherited from class java.lang.Object clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Field Detail JK_AJP13_FORWARD_REQUEST
public static final byte JK_AJP13_FORWARD_REQUEST
- See Also:
- Constant Field Values
JK_AJP13_SHUTDOWN
public static final byte JK_AJP13_SHUTDOWN
- See Also:
- Constant Field Values
JK_AJP13_PING_REQUEST
public static final byte JK_AJP13_PING_REQUEST
- See Also:
- Constant Field Values
JK_AJP13_CPING_REQUEST
public static final byte JK_AJP13_CPING_REQUEST
- See Also:
- Constant Field Values
JK_AJP13_SEND_BODY_CHUNK
public static final byte JK_AJP13_SEND_BODY_CHUNK
- See Also:
- Constant Field Values
JK_AJP13_SEND_HEADERS
public static final byte JK_AJP13_SEND_HEADERS
- See Also:
- Constant Field Values
JK_AJP13_END_RESPONSE
public static final byte JK_AJP13_END_RESPONSE
- See Also:
- Constant Field Values
JK_AJP13_GET_BODY_CHUNK
public static final byte JK_AJP13_GET_BODY_CHUNK
- See Also:
- Constant Field Values
JK_AJP13_CPONG_REPLY
public static final byte JK_AJP13_CPONG_REPLY
- See Also:
- Constant Field Values
SC_RESP_CONTENT_TYPE
public static final int SC_RESP_CONTENT_TYPE
- See Also:
- Constant Field Values
SC_RESP_CONTENT_LANGUAGE
public static final int SC_RESP_CONTENT_LANGUAGE
- See Also:
- Constant Field Values
SC_RESP_CONTENT_LENGTH
public static final int SC_RESP_CONTENT_LENGTH
- See Also:
- Constant Field Values
SC_RESP_DATE
public static final int SC_RESP_DATE
- See Also:
- Constant Field Values
SC_RESP_LAST_MODIFIED
public static final int SC_RESP_LAST_MODIFIED
- See Also:
- Constant Field Values
SC_RESP_LOCATION
public static final int SC_RESP_LOCATION
- See Also:
- Constant Field Values
SC_RESP_SET_COOKIE
public static final int SC_RESP_SET_COOKIE
- See Also:
- Constant Field Values
SC_RESP_SET_COOKIE2
public static final int SC_RESP_SET_COOKIE2
- See Also:
- Constant Field Values
SC_RESP_SERVLET_ENGINE
public static final int SC_RESP_SERVLET_ENGINE
- See Also:
- Constant Field Values
SC_RESP_STATUS
public static final int SC_RESP_STATUS
- See Also:
- Constant Field Values
SC_RESP_WWW_AUTHENTICATE
public static final int SC_RESP_WWW_AUTHENTICATE
- See Also:
- Constant Field Values
SC_A_CONTEXT
public static final byte SC_A_CONTEXT
- See Also:
- Constant Field Values
SC_A_SERVLET_PATH
public static final byte SC_A_SERVLET_PATH
- See Also:
- Constant Field Values
SC_A_REMOTE_USER
public static final byte SC_A_REMOTE_USER
- See Also:
- Constant Field Values
SC_A_AUTH_TYPE
public static final byte SC_A_AUTH_TYPE
- See Also:
- Constant Field Values
SC_A_QUERY_STRING
public static final byte SC_A_QUERY_STRING
- See Also:
- Constant Field Values
SC_A_JVM_ROUTE
public static final byte SC_A_JVM_ROUTE
- See Also:
- Constant Field Values
SC_A_SSL_CERT
public static final byte SC_A_SSL_CERT
- See Also:
- Constant Field Values
SC_A_SSL_CIPHER
public static final byte SC_A_SSL_CIPHER
- See Also:
- Constant Field Values
SC_A_SSL_SESSION
public static final byte SC_A_SSL_SESSION
- See Also:
- Constant Field Values
SC_A_SSL_KEY_SIZE
public static final byte SC_A_SSL_KEY_SIZE
- See Also:
- Constant Field Values
SC_A_SECRET
public static final byte SC_A_SECRET
- See Also:
- Constant Field Values
SC_A_STORED_METHOD
public static final byte SC_A_STORED_METHOD
- See Also:
- Constant Field Values
SC_A_REQ_ATTRIBUTE
public static final byte SC_A_REQ_ATTRIBUTE
- See Also:
- Constant Field Values
SC_A_ARE_DONE
public static final byte SC_A_ARE_DONE
- See Also:
- Constant Field Values
methodTransArray
public static final java.lang.String[] methodTransArray
SC_M_JK_STORED
public static final int SC_M_JK_STORED
- See Also:
- Constant Field Values
SC_REQ_ACCEPT
public static final int SC_REQ_ACCEPT
- See Also:
- Constant Field Values
SC_REQ_ACCEPT_CHARSET
public static final int SC_REQ_ACCEPT_CHARSET
- See Also:
- Constant Field Values
SC_REQ_ACCEPT_ENCODING
public static final int SC_REQ_ACCEPT_ENCODING
- See Also:
- Constant Field Values
SC_REQ_ACCEPT_LANGUAGE
public static final int SC_REQ_ACCEPT_LANGUAGE
- See Also:
- Constant Field Values
SC_REQ_AUTHORIZATION
public static final int SC_REQ_AUTHORIZATION
- See Also:
- Constant Field Values
SC_REQ_CONNECTION
public static final int SC_REQ_CONNECTION
- See Also:
- Constant Field Values
SC_REQ_CONTENT_TYPE
public static final int SC_REQ_CONTENT_TYPE
- See Also:
- Constant Field Values
SC_REQ_CONTENT_LENGTH
public static final int SC_REQ_CONTENT_LENGTH
- See Also:
- Constant Field Values
SC_REQ_COOKIE
public static final int SC_REQ_COOKIE
- See Also:
- Constant Field Values
SC_REQ_COOKIE2
public static final int SC_REQ_COOKIE2
- See Also:
- Constant Field Values
SC_REQ_HOST
public static final int SC_REQ_HOST
- See Also:
- Constant Field Values
SC_REQ_PRAGMA
public static final int SC_REQ_PRAGMA
- See Also:
- Constant Field Values
SC_REQ_REFERER
public static final int SC_REQ_REFERER
- See Also:
- Constant Field Values
SC_REQ_USER_AGENT
public static final int SC_REQ_USER_AGENT
- See Also:
- Constant Field Values
headerTransArray
public static final java.lang.String[] headerTransArray
Constructor Detail RequestHandler
public RequestHandler()
Method Detail init
public void init(Ajp13 ajp14)
- Overrides:
- init in class AjpHandler
sendCPong
public int sendCPong(Ajp13 ch, Ajp13Packet outBuf)
- Send a CPONG REPLY to web server to its CPING request
- Parameters:
- ch - the Ajp13 channel
- outBuf - the Ajp13Packet output packet to use
handleAjpMessage
public int handleAjpMessage(int type, Ajp13 channel, Ajp13Packet ajp, BaseRequest req) throws java.io.IOException
- Description copied from class: AjpHandler
- Execute the callback
- Overrides:
- handleAjpMessage in class AjpHandler
- Throws:
- java.io.IOException
decodeRequest
protected int decodeRequest(Ajp13 ch, Ajp13Packet msg, BaseRequest req) throws java.io.IOException
- Parse a FORWARD_REQUEST packet from the web server and store its properties in the passed-in request object.
- Parameters:
- req - An empty (newly-recycled) request object.
- msg - Holds the packet which has just been sent by the web server, with its read position just past the packet header (which in this case includes the prefix code for FORWARD_REQUEST).
- Returns:
- 200 in case of a successful decoduing, 500 in case of error.
- Throws:
- java.io.IOException
sendHeaders
public void sendHeaders(Ajp13 ch, Ajp13Packet outBuf, int status, java.lang.String statusMessage, MimeHeaders headers) throws java.io.IOException
- Send the HTTP headers back to the web server and on to the browser.
- Parameters:
- status - The HTTP status code to send.
- statusMessage - the HTTP status message to send.
- headers - The set of all headers.
- Throws:
- java.io.IOException
finish
public void finish(Ajp13 ch, Ajp13Packet outBuf) throws java.io.IOException
- Signal the web server that the servlet has finished handling this request, and that the connection can be reused.
- Throws:
- java.io.IOException
doWrite
public void doWrite(Ajp13 ch, Ajp13Packet outBuf, byte[] b, int off, int len) throws java.io.IOException
- Send a chunk of response body data to the web server and on to the browser.
- Parameters:
- b - A huffer of bytes to send.
- off - The offset into the buffer from which to start sending.
- len - The number of bytes to send.
- Throws:
- java.io.IOException
headerNameToSc
protected int headerNameToSc(java.lang.String name)
- Translate an HTTP response header name to an integer code if possible. Case is ignored.
- Parameters:
- name - The name of the response header to translate.
- Returns:
- The code for that header name, or -1 if no code exists.
setDebug
public void setDebug(int debug)
setLogger
public void setLogger(Logger l)
available
public int available(Ajp13 ch) throws java.io.IOException
- Throws:
- java.io.IOException
doRead
public int doRead(Ajp13 ch) throws java.io.IOException
- Return the next byte of request body data (to a servlet).
- Throws:
- java.io.IOException
- See Also:
- Request#doRead
doRead
public int doRead(Ajp13 ch, byte[] b, int off, int len) throws java.io.IOException
- Store a chunk of request data into the passed-in byte buffer.
- Parameters:
- b - A buffer to fill with data from the request.
- off - The offset in the buffer at which to start filling.
- len - The number of bytes to copy into the buffer.
- Returns:
- The number of bytes actually copied into the buffer, or -1 if the end of the stream has been reached.
- Throws:
- java.io.IOException
- See Also:
- Request#doRead
refillReadBuffer
public boolean refillReadBuffer(Ajp13 ch) throws java.io.IOException
- Get more request body data from the web server and store it in the internal buffer.
- Returns:
- true if there is more data, false if not.
- Throws:
- java.io.IOException
beginSendHeaders
public void beginSendHeaders(Ajp13 ch, Ajp13Packet outBuf, int status, java.lang.String statusMessage, int numHeaders) throws java.io.IOException
- Throws:
- java.io.IOException
sendHeader
public void sendHeader(Ajp13Packet outBuf, java.lang.String name, java.lang.String value) throws java.io.IOException
- Throws:
- java.io.IOException
endSendHeaders
public void endSendHeaders(Ajp13 ch, Ajp13Packet outBuf) throws java.io.IOException
- Throws:
- java.io.IOException
sendHeaders
public void sendHeaders(Ajp13 ch, Ajp13Packet outBuf, int status, MimeHeaders headers) throws java.io.IOException
- Send the HTTP headers back to the web server and on to the browser.
- Parameters:
- status - The HTTP status code to send.
- headers - The set of all headers.
- Throws:
- java.io.IOException
Overview Package Class Tree Deprecated Help PREV CLASS NEXT CLASS FRAMES NO FRAMES SUMMARY: NESTED | FIELD | CONSTR | METHOD DETAIL: FIELD | CONSTR | METHOD
Copyright © 2000-2003 Apache Software Foundation. All Rights Reserved.