org.apache.coyote
Class Request
java.lang.Object
org.apache.coyote.Request
- public final class Request
- extends java.lang.Object
This is a low-level, efficient representation of a server request. Most
fields are GC-free, expensive operations are delayed until the user code
needs the information.
Processing is delegated to modules, using a hook mechanism.
This class is not intended for user code - it is used internally by tomcat
for processing the request in the most efficient way. Users ( servlets ) can
access the information using a facade, which provides the high-level view
of the request.
For lazy evaluation, the request uses the getInfo() hook. The following ids
are defined:
- req.encoding - returns the request encoding
- req.attribute - returns a module-specific attribute ( like SSL keys, etc ).
Tomcat defines a number of attributes:
- "org.apache.tomcat.request" - allows access to the low-level
request object in trusted applications
- Author:
- James Duncan Davidson [duncan@eng.sun.com], James Todd [gonzo@eng.sun.com], Jason Hunter [jch@eng.sun.com], Harish Prabandham, Alex Cruikshank [alex@epitonic.com], Hans Bergsten [hans@gefionsoftware.com], Costin Manolache, Remy Maucherat
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Request
public Request()
instanceId
public MessageBytes instanceId()
- Get the instance id (or JVM route). Curently Ajp is sending it with each
request. In future this should be fixed, and sent only once ( or
'negociated' at config time so both tomcat and apache share the same name.
- Returns:
- the instance id
getMimeHeaders
public MimeHeaders getMimeHeaders()
getURLDecoder
public UDecoder getURLDecoder()
scheme
public MessageBytes scheme()
method
public MessageBytes method()
unparsedURI
public MessageBytes unparsedURI()
requestURI
public MessageBytes requestURI()
decodedURI
public MessageBytes decodedURI()
query
public MessageBytes query()
queryString
public MessageBytes queryString()
protocol
public MessageBytes protocol()
serverName
public MessageBytes serverName()
- Return the buffer holding the server name, if
any. Use isNull() to check if there is no value
set.
This is the "virtual host", derived from the
Host: header.
getServerPort
public int getServerPort()
setServerPort
public void setServerPort(int serverPort)
remoteAddr
public MessageBytes remoteAddr()
remoteHost
public MessageBytes remoteHost()
localName
public MessageBytes localName()
localAddr
public MessageBytes localAddr()
getRemotePort
public int getRemotePort()
setRemotePort
public void setRemotePort(int port)
getLocalPort
public int getLocalPort()
setLocalPort
public void setLocalPort(int port)
getCharacterEncoding
public java.lang.String getCharacterEncoding()
- Get the character encoding used for this request.
setCharacterEncoding
public void setCharacterEncoding(java.lang.String enc)
setContentLength
public void setContentLength(int len)
getContentLength
public int getContentLength()
getContentLengthLong
public long getContentLengthLong()
getContentType
public java.lang.String getContentType()
setContentType
public void setContentType(java.lang.String type)
contentType
public MessageBytes contentType()
setContentType
public void setContentType(MessageBytes mb)
getHeader
public java.lang.String getHeader(java.lang.String name)
getResponse
public Response getResponse()
setResponse
public void setResponse(Response response)
action
public void action(ActionCode actionCode,
java.lang.Object param)
getCookies
public Cookies getCookies()
getParameters
public Parameters getParameters()
setAttribute
public void setAttribute(java.lang.String name,
java.lang.Object o)
getAttributes
public java.util.HashMap getAttributes()
getAttribute
public java.lang.Object getAttribute(java.lang.String name)
getRemoteUser
public MessageBytes getRemoteUser()
getAuthType
public MessageBytes getAuthType()
getInputBuffer
public InputBuffer getInputBuffer()
setInputBuffer
public void setInputBuffer(InputBuffer inputBuffer)
doRead
public int doRead(ByteChunk chunk)
throws java.io.IOException
- Read data from the input buffer and put it into a byte chunk.
The buffer is owned by the protocol implementation - it will be reused on the next read.
The Adapter must either process the data in place or copy it to a separate buffer if it needs
to hold it. In most cases this is done during byte->char conversions or via InputStream. Unlike
InputStream, this interface allows the app to process data in place, without copy.
- Throws:
java.io.IOException
toString
public java.lang.String toString()
getStartTime
public long getStartTime()
setStartTime
public void setStartTime(long startTime)
setNote
public final void setNote(int pos,
java.lang.Object value)
getNote
public final java.lang.Object getNote(int pos)
recycle
public void recycle()
updateCounters
public void updateCounters()
getRequestProcessor
public RequestInfo getRequestProcessor()
getBytesRead
public int getBytesRead()
setBytesRead
public void setBytesRead(int bytesRead)
Copyright © 2000-2012 Apache Software Foundation. All Rights Reserved.