|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.caucho.server.http.AbstractHttpRequest
com.caucho.server.http.HttpRequest
public class HttpRequest
Handles a new request from an HTTP connection.
| Field Summary | |
|---|---|
static int |
HTTP_0_9
|
static int |
HTTP_1_0
|
static int |
HTTP_1_1
|
| Fields inherited from class com.caucho.server.http.AbstractHttpRequest |
|---|
_headerCodes, _hostHeader, JSP_EXCEPTION, SHUTDOWN |
| Constructor Summary | |
|---|---|
HttpRequest(Server server,
SocketLink conn)
Creates a new HttpRequest. |
|
| Method Summary | |
|---|---|
protected boolean |
checkLogin()
|
HttpResponse |
createResponse()
|
protected java.lang.String |
dbgId()
|
java.lang.String |
findSessionIdFromConnection()
For SSL connections, use the SSL identifier. |
void |
finishRequest()
Cleans up at the end of the invocation |
java.lang.String |
getHeader(java.lang.String key)
Returns the header. |
CharSegment |
getHeaderBuffer(char[] testBuf,
int length)
Returns the matching header. |
CharSegment |
getHeaderBuffer(java.lang.String key)
Returns the header value for the key, returned as a CharSegment. |
void |
getHeaderBuffers(java.lang.String key,
java.util.ArrayList<CharSegment> values)
Fills an ArrayList with the header values matching the key. |
CharSegment |
getHeaderKey(int index)
Returns the header key |
java.util.Enumeration<java.lang.String> |
getHeaderNames()
Returns an enumeration of all the header keys. |
java.util.Enumeration<java.lang.String> |
getHeaders(java.lang.String key)
Return an enumeration of headers matching a key. |
int |
getHeaderSize()
Returns the number of headers. |
CharSegment |
getHeaderValue(int index)
Returns the header value |
protected java.lang.CharSequence |
getHost()
Returns the virtual host of the request |
java.lang.String |
getMethod()
Returns the HTTP method (GET, POST, HEAD, etc.) |
CharSegment |
getMethodBuffer()
Returns a buffer containing the request method. |
java.lang.String |
getProtocol()
Returns the protocol. |
CharSegment |
getProtocolBuffer()
Returns a char segment containing the protocol. |
ReadStream |
getRawInput()
Returns the raw input stream. |
byte[] |
getUriBuffer()
Returns the byte buffer containing the request URI |
int |
getUriLength()
Returns the length of the request URI |
boolean |
handleRequest()
Handles a new HTTP request. |
boolean |
hasRequest()
Returns true if the request exists |
protected void |
initAttributes(HttpServletRequestImpl request)
Initialize any special attributes. |
boolean |
initStream(ReadStream readStream,
ReadStream rawRead)
Returns a stream for reading POST data. |
boolean |
isTop()
Returns true for the top-level request, but false for any include() or forward() |
boolean |
isWaitForRead()
Return true if the request waits for a read before beginning. |
void |
setHeader(java.lang.String key,
java.lang.String value)
Adds a new header. |
protected void |
skip()
|
SocketLinkDuplexController |
startDuplex(SocketLinkDuplexListener handler)
Upgrade to duplex |
protected void |
startRequest(HttpBufferStore httpBuffer)
Clear the request variables in preparation for a new request. |
java.lang.String |
toString()
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface com.caucho.network.listen.ProtocolConnection |
|---|
getProtocolRequestURL, handleResume, init, onCloseConnection, onStartConnection |
| Field Detail |
|---|
public static final int HTTP_0_9
public static final int HTTP_1_0
public static final int HTTP_1_1
| Constructor Detail |
|---|
public HttpRequest(Server server,
SocketLink conn)
server - the owning server.| Method Detail |
|---|
public HttpResponse createResponse()
createResponse in class AbstractHttpRequestpublic final boolean isWaitForRead()
isWaitForRead in interface ProtocolConnectionpublic boolean hasRequest()
hasRequest in class AbstractHttpRequestpublic boolean isTop()
protected boolean checkLogin()
public CharSegment getMethodBuffer()
public java.lang.String getMethod()
getMethod in class AbstractHttpRequestprotected java.lang.CharSequence getHost()
getHost in class AbstractHttpRequestpublic byte[] getUriBuffer()
getUriBuffer in class AbstractHttpRequestpublic int getUriLength()
getUriLength in class AbstractHttpRequestpublic java.lang.String getProtocol()
getProtocol in class AbstractHttpRequestpublic CharSegment getProtocolBuffer()
public java.lang.String getHeader(java.lang.String key)
getHeader in class AbstractHttpRequestkey - the header keypublic int getHeaderSize()
getHeaderSize in class AbstractHttpRequestpublic CharSegment getHeaderKey(int index)
getHeaderKey in class AbstractHttpRequestpublic CharSegment getHeaderValue(int index)
getHeaderValue in class AbstractHttpRequest
public CharSegment getHeaderBuffer(char[] testBuf,
int length)
testBuf - header keylength - length of the key.public CharSegment getHeaderBuffer(java.lang.String key)
getHeaderBuffer in class AbstractHttpRequestkey - the header name
public void getHeaderBuffers(java.lang.String key,
java.util.ArrayList<CharSegment> values)
getHeaderBuffers in class AbstractHttpRequestvalues - ArrayList which will contain the maching values.key - the header key to select.public java.util.Enumeration<java.lang.String> getHeaders(java.lang.String key)
getHeaders in class AbstractHttpRequestkey - the header key to match.
public java.util.Enumeration<java.lang.String> getHeaderNames()
getHeaderNames in class AbstractHttpRequest
public void setHeader(java.lang.String key,
java.lang.String value)
setHeader in class AbstractHttpRequestkey - the key of the new headervalue - the value for the new headerprotected void initAttributes(HttpServletRequestImpl request)
initAttributes in class AbstractHttpRequestpublic java.lang.String findSessionIdFromConnection()
findSessionIdFromConnection in class AbstractHttpRequest
public boolean initStream(ReadStream readStream,
ReadStream rawRead)
throws java.io.IOException
initStream in class AbstractHttpRequestjava.io.IOException
protected void skip()
throws java.io.IOException
skip in class AbstractHttpRequestjava.io.IOExceptionpublic ReadStream getRawInput()
getRawInput in class AbstractHttpRequest
public boolean handleRequest()
throws java.io.IOException
Note: ClientDisconnectException must be rethrown to the caller.
handleRequest in interface ProtocolConnectionjava.io.IOException
protected void startRequest(HttpBufferStore httpBuffer)
throws java.io.IOException
startRequest in class AbstractHttpRequests - the read stream for the request
java.io.IOExceptionpublic SocketLinkDuplexController startDuplex(SocketLinkDuplexListener handler)
startDuplex in class AbstractHttpRequest
public void finishRequest()
throws java.io.IOException
finishRequest in class AbstractHttpRequestjava.io.IOExceptionprotected java.lang.String dbgId()
dbgId in class AbstractHttpRequestpublic java.lang.String toString()
toString in class java.lang.Object
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||