org.apache.coyote.tomcat5

Class CoyoteRequest

Implemented Interfaces:
HttpRequest, HttpServletRequest, Request

public class CoyoteRequest
extends java.lang.Object
implements HttpRequest, HttpServletRequest

Wrapper object for the Coyote request.

Version:
$Revision: 1.37 $ $Date: 2004/06/07 16:54:58 $

Authors:
Remy Maucherat
Craig R. McClanahan

Field Summary

protected static int
CACHED_POST_LEN
Post data buffer.
protected B2CConverter
URIConverter
URI byte to char converter (not recycled).
protected HashMap
attributes
The attributes associated with this Request, keyed by attribute name.
protected String
authType
Authentication type.
protected CoyoteConnector
connector
Associated Catalina connector.
protected Context
context
Associated context.
protected Cookie[]
cookies
The set of cookies associated with this Request.
protected boolean
cookiesParsed
Cookies parsed flag.
protected Request
coyoteRequest
Coyote request.
protected static Locale
defaultLocale
The default Locale if none are specified.
protected Object
dispatcherType
The current dispatcher type.
protected CoyoteRequestFacade
facade
The facade associated with this request.
protected FilterChain
filterChain
Filter chain associated with the request.
protected SimpleDateFormat[]
formats
The set of SimpleDateFormat formats to use in getDateHeader().
protected static String
info
Descriptive information about this Request implementation.
protected InputBuffer
inputBuffer
The associated input buffer.
protected CoyoteInputStream
inputStream
ServletInputStream.
protected String
localAddr
Local address
protected String
localName
Local address
protected int
localPort
Local port
protected ArrayList
locales
The preferred Locales assocaited with this Request.
protected boolean
localesParsed
Parse locales.
protected Log
log
After the request is mapped to a ServletContext, we can also map it to a logger.
protected MappingData
mappingData
Mapping data.
protected ParameterMap
parameterMap
Hash map used in the getParametersMap method.
protected byte[]
postData
protected CoyoteReader
reader
Reader.
protected String
remoteAddr
Remote address.
protected String
remoteHost
Remote host.
protected int
remotePort
Remote port
protected Object
requestDispatcherPath
The current request dispatcher path.
protected boolean
requestParametersParsed
Request parameters parsed flag.
protected boolean
requestedSessionCookie
Was the requested session ID received in a cookie?
protected String
requestedSessionId
The requested session ID (if any) for this request.
protected boolean
requestedSessionURL
Was the requested session ID received in a URL?
protected Response
response
The response with which this request is associated.
protected boolean
secure
Secure flag.
protected Session
session
The currently active session for this request.
protected boolean
sessionParsed
Session parsed flag.
protected static StringManager
sm
The string manager for this package.
protected Socket
socket
The socket through which this Request was received.
protected Subject
subject
The Subject associated with the current AccessControllerContext
protected Principal
userPrincipal
User principal.
protected boolean
usingInputStream
Using stream flag.
protected boolean
usingReader
Using writer flag.
protected ValveContext
valveContext
The valve context associated with this request.
protected Wrapper
wrapper
Associated wrapper.

Constructor Summary

CoyoteRequest()

Method Summary

void
addCookie(Cookie cookie)
Add a Cookie to the set of Cookies associated with this Request.
void
addHeader(String name, String value)
Add a Header to the set of Headers associated with this Request.
void
addLocale(Locale locale)
Add a Locale to the set of preferred Locales for this Request.
void
addParameter(String name, values[] )
Add a parameter name and corresponding set of values to this Request.
void
clearCookies()
Clear the collection of Cookies associated with this Request.
void
clearHeaders()
Clear the collection of Headers associated with this Request.
void
clearLocales()
Clear the collection of Locales associated with this Request.
void
clearParameters()
Clear the collection of parameters associated with this Request.
protected void
configureSessionCookie(Cookie cookie)
Configures the given JSESSIONID cookie.
ServletInputStream
createInputStream()
Create and return a ServletInputStream to read the content associated with this Request.
protected HttpSession
doGetSession(boolean create)
void
finishRequest()
Perform whatever actions are required to flush and close the input stream or reader, in a single operation.
Object
getAttribute(String name)
Return the specified request attribute if it exists; otherwise, return null.
Enumeration
getAttributeNames()
Return the names of all request attributes for this Request, or an empty Enumeration if there are none.
String
getAuthType()
Return the authentication type used for this Request.
String
getAuthorization()
Return the authorization credentials sent with this request.
String
getCharacterEncoding()
Return the character encoding for this Request.
Connector
getConnector()
Return the Connector through which this Request was received.
int
getContentLength()
Return the content length for this Request.
String
getContentType()
Return the content type for this Request.
Context
getContext()
Return the Context within which this Request is being processed.
String
getContextPath()
Return the portion of the request URI used to select the Context of the Request.
MessageBytes
getContextPathMB()
Get the context path.
Cookie[]
getCookies()
Return the set of Cookies received with this Request.
Request
getCoyoteRequest()
Get the Coyote request.
long
getDateHeader(String name)
Return the value of the specified date header, if any; otherwise return -1.
String
getDecodedRequestURI()
Get the decoded request URI.
MessageBytes
getDecodedRequestURIMB()
Get the decoded request URI.
FilterChain
getFilterChain()
Get filter chain associated with the request.
String
getHeader(String name)
Return the first value of the specified header, if any; otherwise, return null
Enumeration
getHeaderNames()
Return the names of all headers received with this request.
Enumeration
getHeaders(String name)
Return all of the values of the specified header, if any; otherwise, return an empty enumeration.
Host
getHost()
Return the Host within which this Request is being processed.
String
getInfo()
Return descriptive information about this Request implementation and the corresponding version number, in the format <description>/<version>.
ServletInputStream
getInputStream()
Return the servlet input stream for this Request.
int
getIntHeader(String name)
Return the value of the specified header as an integer, or -1 if there is no such header for this request.
String
getLocalAddr()
Returns the Internet Protocol (IP) address of the interface on which the request was received.
String
getLocalName()
Returns the host name of the Internet Protocol (IP) interface on which the request was received.
int
getLocalPort()
Returns the Internet Protocol (IP) port number of the interface on which the request was received.
Locale
getLocale()
Return the preferred Locale that the client will accept content in, based on the value for the first Accept-Language header that was encountered.
Enumeration
getLocales()
Return the set of preferred Locales that the client will accept content in, based on the values for any Accept-Language headers that were encountered.
MappingData
getMappingData()
Return mapping data.
String
getMethod()
Return the HTTP request method used in this Request.
Object
getNote(String name)
Return the object bound with the specified name to the internal notes for this request, or null if no such binding exists.
Iterator
getNoteNames()
Return an Iterator containing the String names of all notes bindings that exist for this request.
String
getParameter(String name)
Return the value of the specified request parameter, if any; otherwise, return null.
Map
getParameterMap()
Returns a Map of the parameters of this request.
Enumeration
getParameterNames()
Return the names of all defined request parameters for this request.
String[]
getParameterValues(String name)
Return the defined values for the specified request parameter, if any; otherwise, return null.
String
getPathInfo()
Return the path information associated with this Request.
MessageBytes
getPathInfoMB()
Get the path info.
String
getPathTranslated()
Return the extra path information for this request, translated to a real path.
String
getProtocol()
Return the protocol and version used to make this Request.
String
getQueryString()
Return the query string associated with this request.
BufferedReader
getReader()
Read the Reader wrapping the input stream for this Request.
String
getRealPath(String path)
Deprecated. As of version 2.1 of the Java Servlet API, use ServletContext.getRealPath().
String
getRemoteAddr()
Return the remote IP address making this Request.
String
getRemoteHost()
Return the remote host name making this Request.
int
getRemotePort()
Returns the Internet Protocol (IP) source port of the client or last proxy that sent the request.
String
getRemoteUser()
Return the name of the remote user that has been authenticated for this Request.
ServletRequest
getRequest()
Return the ServletRequest for which this object is the facade.
RequestDispatcher
getRequestDispatcher(String path)
Return a RequestDispatcher that wraps the resource at the specified path, which may be interpreted as relative to the current request path.
MessageBytes
getRequestPathMB()
Get the request path.
String
getRequestURI()
Return the request URI for this request.
StringBuffer
getRequestURL()
Reconstructs the URL the client used to make the request.
String
getRequestedSessionId()
Return the session identifier included in this request, if any.
Response
getResponse()
Return the Response with which this Request is associated.
String
getScheme()
Return the scheme used to make this Request.
String
getServerName()
Return the server name responding to this Request.
int
getServerPort()
Return the server port responding to this Request.
String
getServletPath()
Return the portion of the request URI used to select the servlet that will process this request.
MessageBytes
getServletPathMB()
Get the servlet path.
HttpSession
getSession()
Return the session associated with this Request, creating one if necessary.
HttpSession
getSession(boolean create)
Return the session associated with this Request, creating one if necessary and requested.
Socket
getSocket()
Return the Socket (if any) through which this Request was received.
InputStream
getStream()
Return the input stream associated with this Request.
protected B2CConverter
getURIConverter()
Return the URI converter.
Principal
getUserPrincipal()
Return the principal that has been authenticated for this Request.
ValveContext
getValveContext()
Get valve context.
Wrapper
getWrapper()
Return the Wrapper within which this Request is being processed.
boolean
isRequestedSessionIdFromCookie()
Return true if the session identifier included in this request came from a cookie.
boolean
isRequestedSessionIdFromURL()
Return true if the session identifier included in this request came from the request URI.
boolean
isRequestedSessionIdFromUrl()
Deprecated. As of Version 2.1 of the Java Servlet API, use isRequestedSessionIdFromURL() instead.
boolean
isRequestedSessionIdValid()
Return true if the session identifier included in this request identifies a valid session.
boolean
isSecure()
Was this request received on a secure connection?
boolean
isUserInRole(String role)
Return true if the authenticated user principal possesses the specified role name.
protected void
parseCookies()
Parse cookies.
protected void
parseLocales()
Parse request locales.
protected void
parseLocalesHeader(String value)
Parse accept-language header value.
protected void
parseRequestParameters()
Parse request parameters.
protected int
readPostBody(body[] , int len)
Read post body in an array.
void
recycle()
Release all object references, and initialize instance variables, in preparation for reuse of this object.
void
removeAttribute(String name)
Remove the specified request attribute if it exists.
void
removeNote(String name)
Remove any object bound to the specified name in the internal notes for this request.
void
setAttribute(String name, Object value)
Set the specified request attribute to the specified value.
void
setAuthType(String type)
Set the authentication type used for this request, if any; otherwise set the type to null.
void
setAuthorization(String authorization)
Set the authorization credentials sent with this request.
void
setCharacterEncoding(String enc)
Overrides the name of the character encoding used in the body of this request.
void
setConnector(Connector connector)
Set the Connector through which this Request was received.
void
setContentLength(int length)
Set the content length associated with this Request.
void
setContentType(String type)
Set the content type (and optionally the character encoding) associated with this Request.
void
setContext(Context context)
Set the Context within which this Request is being processed.
void
setContextPath(String path)
Set the context path for this Request.
void
setCookies(Cookie[] cookies)
Set the set of cookies recieved with this Request.
void
setCoyoteRequest(Request coyoteRequest)
Set the Coyote request.
void
setDecodedRequestURI(String uri)
Set the decoded request URI.
void
setFilterChain(FilterChain filterChain)
Set filter chain associated with the request.
void
setHost(Host host)
Set the Host within which this Request is being processed.
void
setMethod(String method)
Set the HTTP request method used for this Request.
void
setNote(String name, Object value)
Bind an object to a specified name in the internal notes associated with this request, replacing any existing binding for this name.
void
setPathInfo(String path)
Set the path information for this Request.
void
setProtocol(String protocol)
Set the protocol name and version associated with this Request.
void
setQueryString(String query)
Set the query string for this Request.
void
setRemoteAddr(String remoteAddr)
Set the IP address of the remote client associated with this Request.
void
setRemoteHost(String remoteHost)
Set the fully qualified name of the remote client associated with this Request.
void
setRequestURI(String uri)
Set the unparsed request URI for this Request.
void
setRequestedSessionCookie(boolean flag)
Set a flag indicating whether or not the requested session ID for this request came in through a cookie.
void
setRequestedSessionId(String id)
Set the requested session ID for this request.
void
setRequestedSessionURL(boolean flag)
Set a flag indicating whether or not the requested session ID for this request came in through a URL.
void
setResponse(Response response)
Set the Response with which this Request is associated.
void
setScheme(String scheme)
Set the name of the scheme associated with this request.
void
setSecure(boolean secure)
Set the value to be returned by isSecure() for this Request.
void
setServerName(String name)
Set the name of the server (virtual host) to process this request.
void
setServerPort(int port)
Set the port number of the server to process this request.
void
setServletPath(String path)
Set the servlet path for this Request.
void
setSocket(Socket socket)
Set the Socket (if any) through which this Request was received.
void
setStream(InputStream stream)
Set the input stream associated with this Request.
protected void
setURIConverter(B2CConverter URIConverter)
Set the URI converter.
void
setUserPrincipal(Principal principal)
Set the Principal who has been authenticated for this Request.
void
setValveContext(ValveContext valveContext)
Set valve context.
void
setWrapper(Wrapper wrapper)
Set the Wrapper within which this Request is being processed.

Field Details

CACHED_POST_LEN

protected static int CACHED_POST_LEN
Post data buffer.


URIConverter

protected B2CConverter URIConverter
URI byte to char converter (not recycled).


attributes

protected HashMap attributes
The attributes associated with this Request, keyed by attribute name.


authType

protected String authType
Authentication type.


connector

protected CoyoteConnector connector
Associated Catalina connector.


context

protected Context context
Associated context.


cookies

protected Cookie[] cookies
The set of cookies associated with this Request.


cookiesParsed

protected boolean cookiesParsed
Cookies parsed flag.


coyoteRequest

protected Request coyoteRequest
Coyote request.


defaultLocale

protected static Locale defaultLocale
The default Locale if none are specified.


dispatcherType

protected Object dispatcherType
The current dispatcher type.


facade

protected CoyoteRequestFacade facade
The facade associated with this request.


filterChain

protected FilterChain filterChain
Filter chain associated with the request.


formats

protected SimpleDateFormat[] formats
The set of SimpleDateFormat formats to use in getDateHeader().


info

protected static final String info
Descriptive information about this Request implementation.


inputBuffer

protected InputBuffer inputBuffer
The associated input buffer.


inputStream

protected CoyoteInputStream inputStream
ServletInputStream.


localAddr

protected String localAddr
Local address


localName

protected String localName
Local address


localPort

protected int localPort
Local port


locales

protected ArrayList locales
The preferred Locales assocaited with this Request.


localesParsed

protected boolean localesParsed
Parse locales.


log

protected Log log
After the request is mapped to a ServletContext, we can also map it to a logger.


mappingData

protected MappingData mappingData
Mapping data.


parameterMap

protected ParameterMap parameterMap
Hash map used in the getParametersMap method.


postData

protected byte[] postData


reader

protected CoyoteReader reader
Reader.


remoteAddr

protected String remoteAddr
Remote address.


remoteHost

protected String remoteHost
Remote host.


remotePort

protected int remotePort
Remote port


requestDispatcherPath

protected Object requestDispatcherPath
The current request dispatcher path.


requestParametersParsed

protected boolean requestParametersParsed
Request parameters parsed flag.


requestedSessionCookie

protected boolean requestedSessionCookie
Was the requested session ID received in a cookie?


requestedSessionId

protected String requestedSessionId
The requested session ID (if any) for this request.


requestedSessionURL

protected boolean requestedSessionURL
Was the requested session ID received in a URL?


response

protected Response response
The response with which this request is associated.


secure

protected boolean secure
Secure flag.


session

protected Session session
The currently active session for this request.


sessionParsed

protected boolean sessionParsed
Session parsed flag.


sm

protected static StringManager sm
The string manager for this package.


socket

protected Socket socket
The socket through which this Request was received.


subject

protected Subject subject
The Subject associated with the current AccessControllerContext


userPrincipal

protected Principal userPrincipal
User principal.


usingInputStream

protected boolean usingInputStream
Using stream flag.


usingReader

protected boolean usingReader
Using writer flag.


valveContext

protected ValveContext valveContext
The valve context associated with this request.


wrapper

protected Wrapper wrapper
Associated wrapper.

Constructor Details

CoyoteRequest

public CoyoteRequest()

Method Details

addCookie

public void addCookie(Cookie cookie)
Add a Cookie to the set of Cookies associated with this Request.
Specified by:
addCookie in interface HttpRequest

Parameters:
cookie - The new cookie


addHeader

public void addHeader(String name,
                      String value)
Add a Header to the set of Headers associated with this Request.
Specified by:
addHeader in interface HttpRequest

Parameters:
name - The new header name
value - The new header value


addLocale

public void addLocale(Locale locale)
Add a Locale to the set of preferred Locales for this Request. The first added Locale will be the first one returned by getLocales().
Specified by:
addLocale in interface HttpRequest

Parameters:
locale - The new preferred Locale


addParameter

public void addParameter(String name,
                         values[] )
Add a parameter name and corresponding set of values to this Request. (This is used when restoring the original request on a form based login).
Specified by:
addParameter in interface HttpRequest

Parameters:
name - Name of this request parameter


clearCookies

public void clearCookies()
Clear the collection of Cookies associated with this Request.
Specified by:
clearCookies in interface HttpRequest


clearHeaders

public void clearHeaders()
Clear the collection of Headers associated with this Request.
Specified by:
clearHeaders in interface HttpRequest


clearLocales

public void clearLocales()
Clear the collection of Locales associated with this Request.
Specified by:
clearLocales in interface HttpRequest


clearParameters

public void clearParameters()
Clear the collection of parameters associated with this Request.
Specified by:
clearParameters in interface HttpRequest


configureSessionCookie

protected void configureSessionCookie(Cookie cookie)
Configures the given JSESSIONID cookie.

Parameters:
cookie - The JSESSIONID cookie to be configured


createInputStream

public ServletInputStream createInputStream()
            throws IOException
Create and return a ServletInputStream to read the content associated with this Request.
Specified by:
createInputStream in interface Request


doGetSession

protected HttpSession doGetSession(boolean create)


finishRequest

public void finishRequest()
            throws IOException
Perform whatever actions are required to flush and close the input stream or reader, in a single operation.
Specified by:
finishRequest in interface Request


getAttribute

public Object getAttribute(String name)
Return the specified request attribute if it exists; otherwise, return null.

Parameters:
name - Name of the request attribute to return


getAttributeNames

public Enumeration getAttributeNames()
Return the names of all request attributes for this Request, or an empty Enumeration if there are none.


getAuthType

public String getAuthType()
Return the authentication type used for this Request.


getAuthorization

public String getAuthorization()
Return the authorization credentials sent with this request.
Specified by:
getAuthorization in interface Request


getCharacterEncoding

public String getCharacterEncoding()
Return the character encoding for this Request.


getConnector

public Connector getConnector()
Return the Connector through which this Request was received.
Specified by:
getConnector in interface Request


getContentLength

public int getContentLength()
Return the content length for this Request.


getContentType

public String getContentType()
Return the content type for this Request.


getContext

public Context getContext()
Return the Context within which this Request is being processed.
Specified by:
getContext in interface Request


getContextPath

public String getContextPath()
Return the portion of the request URI used to select the Context of the Request.


getContextPathMB

public MessageBytes getContextPathMB()
Get the context path.
Specified by:
getContextPathMB in interface HttpRequest

Returns:
the context path


getCookies

public Cookie[] getCookies()
Return the set of Cookies received with this Request.


getCoyoteRequest

public Request getCoyoteRequest()
Get the Coyote request.


getDateHeader

public long getDateHeader(String name)
Return the value of the specified date header, if any; otherwise return -1.

Parameters:
name - Name of the requested date header


getDecodedRequestURI

public String getDecodedRequestURI()
Get the decoded request URI.
Specified by:
getDecodedRequestURI in interface HttpRequest

Returns:
the URL decoded request URI


getDecodedRequestURIMB

public MessageBytes getDecodedRequestURIMB()
Get the decoded request URI.
Specified by:
getDecodedRequestURIMB in interface HttpRequest

Returns:
the URL decoded request URI


getFilterChain

public FilterChain getFilterChain()
Get filter chain associated with the request.
Specified by:
getFilterChain in interface Request


getHeader

public String getHeader(String name)
Return the first value of the specified header, if any; otherwise, return null

Parameters:
name - Name of the requested header


getHeaderNames

public Enumeration getHeaderNames()
Return the names of all headers received with this request.


getHeaders

public Enumeration getHeaders(String name)
Return all of the values of the specified header, if any; otherwise, return an empty enumeration.

Parameters:
name - Name of the requested header


getHost

public Host getHost()
Return the Host within which this Request is being processed.
Specified by:
getHost in interface Request


getInfo

public String getInfo()
Return descriptive information about this Request implementation and the corresponding version number, in the format <description>/<version>.
Specified by:
getInfo in interface Request


getInputStream

public ServletInputStream getInputStream()
            throws IOException
Return the servlet input stream for this Request. The default implementation returns a servlet input stream created by createInputStream().


getIntHeader

public int getIntHeader(String name)
Return the value of the specified header as an integer, or -1 if there is no such header for this request.

Parameters:
name - Name of the requested header


getLocalAddr

public String getLocalAddr()
Returns the Internet Protocol (IP) address of the interface on which the request was received.


getLocalName

public String getLocalName()
Returns the host name of the Internet Protocol (IP) interface on which the request was received.


getLocalPort

public int getLocalPort()
Returns the Internet Protocol (IP) port number of the interface on which the request was received.


getLocale

public Locale getLocale()
Return the preferred Locale that the client will accept content in, based on the value for the first Accept-Language header that was encountered. If the request did not specify a preferred language, the server's default Locale is returned.


getLocales

public Enumeration getLocales()
Return the set of preferred Locales that the client will accept content in, based on the values for any Accept-Language headers that were encountered. If the request did not specify a preferred language, the server's default Locale is returned.


getMappingData

public MappingData getMappingData()
Return mapping data.


getMethod

public String getMethod()
Return the HTTP request method used in this Request.


getNote

public Object getNote(String name)
Return the object bound with the specified name to the internal notes for this request, or null if no such binding exists.
Specified by:
getNote in interface Request

Parameters:
name - Name of the note to be returned


getNoteNames

public Iterator getNoteNames()
Return an Iterator containing the String names of all notes bindings that exist for this request.
Specified by:
getNoteNames in interface Request


getParameter

public String getParameter(String name)
Return the value of the specified request parameter, if any; otherwise, return null. If there is more than one value defined, return only the first one.

Parameters:
name - Name of the desired request parameter


getParameterMap

public Map getParameterMap()
Returns a Map of the parameters of this request. Request parameters are extra information sent with the request. For HTTP servlets, parameters are contained in the query string or posted form data.

Returns:
A Map containing parameter names as keys and parameter values as map values.


getParameterNames

public Enumeration getParameterNames()
Return the names of all defined request parameters for this request.


getParameterValues

public String[] getParameterValues(String name)
Return the defined values for the specified request parameter, if any; otherwise, return null.

Parameters:
name - Name of the desired request parameter


getPathInfo

public String getPathInfo()
Return the path information associated with this Request.


getPathInfoMB

public MessageBytes getPathInfoMB()
Get the path info.
Specified by:
getPathInfoMB in interface HttpRequest

Returns:
the path info


getPathTranslated

public String getPathTranslated()
Return the extra path information for this request, translated to a real path.


getProtocol

public String getProtocol()
Return the protocol and version used to make this Request.


getQueryString

public String getQueryString()
Return the query string associated with this request.


getReader

public BufferedReader getReader()
            throws IOException
Read the Reader wrapping the input stream for this Request. The default implementation wraps a BufferedReader around the servlet input stream returned by createInputStream().


getRealPath

public String getRealPath(String path)

Deprecated. As of version 2.1 of the Java Servlet API, use ServletContext.getRealPath().

Return the real path of the specified virtual path.

Parameters:
path - Path to be translated


getRemoteAddr

public String getRemoteAddr()
Return the remote IP address making this Request.


getRemoteHost

public String getRemoteHost()
Return the remote host name making this Request.


getRemotePort

public int getRemotePort()
Returns the Internet Protocol (IP) source port of the client or last proxy that sent the request.


getRemoteUser

public String getRemoteUser()
Return the name of the remote user that has been authenticated for this Request.


getRequest

public ServletRequest getRequest()
Return the ServletRequest for which this object is the facade. This method must be implemented by a subclass.
Specified by:
getRequest in interface Request


getRequestDispatcher

public RequestDispatcher getRequestDispatcher(String path)
Return a RequestDispatcher that wraps the resource at the specified path, which may be interpreted as relative to the current request path.

Parameters:
path - Path of the resource to be wrapped


getRequestPathMB

public MessageBytes getRequestPathMB()
Get the request path.
Specified by:
getRequestPathMB in interface HttpRequest

Returns:
the request path


getRequestURI

public String getRequestURI()
Return the request URI for this request.


getRequestURL

public StringBuffer getRequestURL()
Reconstructs the URL the client used to make the request. The returned URL contains a protocol, server name, port number, and server path, but it does not include query string parameters.

Because this method returns a StringBuffer, not a String, you can modify the URL easily, for example, to append query parameters.

This method is useful for creating redirect messages and for reporting errors.

Returns:
A StringBuffer object containing the reconstructed URL


getRequestedSessionId

public String getRequestedSessionId()
Return the session identifier included in this request, if any.


getResponse

public Response getResponse()
Return the Response with which this Request is associated.
Specified by:
getResponse in interface Request


getScheme

public String getScheme()
Return the scheme used to make this Request.


getServerName

public String getServerName()
Return the server name responding to this Request.


getServerPort

public int getServerPort()
Return the server port responding to this Request.


getServletPath

public String getServletPath()
Return the portion of the request URI used to select the servlet that will process this request.


getServletPathMB

public MessageBytes getServletPathMB()
Get the servlet path.
Specified by:
getServletPathMB in interface HttpRequest

Returns:
the servlet path


getSession

public HttpSession getSession()
Return the session associated with this Request, creating one if necessary.


getSession

public HttpSession getSession(boolean create)
Return the session associated with this Request, creating one if necessary and requested.

Parameters:
create - Create a new session if one does not exist


getSocket

public Socket getSocket()
Return the Socket (if any) through which this Request was received. This should only be used to access underlying state information about this Socket, such as the SSLSession associated with an SSLSocket.
Specified by:
getSocket in interface Request


getStream

public InputStream getStream()
Return the input stream associated with this Request.
Specified by:
getStream in interface Request


getURIConverter

protected B2CConverter getURIConverter()
Return the URI converter.


getUserPrincipal

public Principal getUserPrincipal()
Return the principal that has been authenticated for this Request.


getValveContext

public ValveContext getValveContext()
Get valve context.
Specified by:
getValveContext in interface Request


getWrapper

public Wrapper getWrapper()
Return the Wrapper within which this Request is being processed.
Specified by:
getWrapper in interface Request


isRequestedSessionIdFromCookie

public boolean isRequestedSessionIdFromCookie()
Return true if the session identifier included in this request came from a cookie.


isRequestedSessionIdFromURL

public boolean isRequestedSessionIdFromURL()
Return true if the session identifier included in this request came from the request URI.


isRequestedSessionIdFromUrl

public boolean isRequestedSessionIdFromUrl()

Deprecated. As of Version 2.1 of the Java Servlet API, use isRequestedSessionIdFromURL() instead.

Return true if the session identifier included in this request came from the request URI.


isRequestedSessionIdValid

public boolean isRequestedSessionIdValid()
Return true if the session identifier included in this request identifies a valid session.


isSecure

public boolean isSecure()
Was this request received on a secure connection?


isUserInRole

public boolean isUserInRole(String role)
Return true if the authenticated user principal possesses the specified role name.

Parameters:
role - Role name to be validated


parseCookies

protected void parseCookies()
Parse cookies.


parseLocales

protected void parseLocales()
Parse request locales.


parseLocalesHeader

protected void parseLocalesHeader(String value)
Parse accept-language header value.


parseRequestParameters

protected void parseRequestParameters()
Parse request parameters.


readPostBody

protected int readPostBody(body[] ,
                           int len)
            throws IOException
Read post body in an array.


recycle

public void recycle()
Release all object references, and initialize instance variables, in preparation for reuse of this object.
Specified by:
recycle in interface Request


removeAttribute

public void removeAttribute(String name)
Remove the specified request attribute if it exists.

Parameters:
name - Name of the request attribute to remove


removeNote

public void removeNote(String name)
Remove any object bound to the specified name in the internal notes for this request.
Specified by:
removeNote in interface Request

Parameters:
name - Name of the note to be removed


setAttribute

public void setAttribute(String name,
                         Object value)
Set the specified request attribute to the specified value.

Parameters:
name - Name of the request attribute to set
value - The associated value


setAuthType

public void setAuthType(String type)
Set the authentication type used for this request, if any; otherwise set the type to null. Typical values are "BASIC", "DIGEST", or "SSL".
Specified by:
setAuthType in interface HttpRequest

Parameters:
type - The authentication type used


setAuthorization

public void setAuthorization(String authorization)
Set the authorization credentials sent with this request.
Specified by:
setAuthorization in interface Request

Parameters:
authorization - The new authorization credentials


setCharacterEncoding

public void setCharacterEncoding(String enc)
            throws UnsupportedEncodingException
Overrides the name of the character encoding used in the body of this request. This method must be called prior to reading request parameters or reading input using getReader().

Parameters:
enc - The character encoding to be used

Since:
Servlet 2.3


setConnector

public void setConnector(Connector connector)
Set the Connector through which this Request was received.
Specified by:
setConnector in interface Request

Parameters:
connector - The new connector


setContentLength

public void setContentLength(int length)
Set the content length associated with this Request.
Specified by:
setContentLength in interface Request

Parameters:
length - The new content length


setContentType

public void setContentType(String type)
Set the content type (and optionally the character encoding) associated with this Request. For example, text/html; charset=ISO-8859-4.
Specified by:
setContentType in interface Request

Parameters:
type - The new content type


setContext

public void setContext(Context context)
Set the Context within which this Request is being processed. This must be called as soon as the appropriate Context is identified, because it identifies the value to be returned by getContextPath(), and thus enables parsing of the request URI.
Specified by:
setContext in interface Request

Parameters:
context - The newly associated Context


setContextPath

public void setContextPath(String path)
Set the context path for this Request. This will normally be called when the associated Context is mapping the Request to a particular Wrapper.
Specified by:
setContextPath in interface HttpRequest

Parameters:
path - The context path


setCookies

public void setCookies(Cookie[] cookies)
Set the set of cookies recieved with this Request.


setCoyoteRequest

public void setCoyoteRequest(Request coyoteRequest)
Set the Coyote request.

Parameters:
coyoteRequest - The Coyote request


setDecodedRequestURI

public void setDecodedRequestURI(String uri)
Set the decoded request URI.
Specified by:
setDecodedRequestURI in interface HttpRequest

Parameters:
uri - The decoded request URI


setFilterChain

public void setFilterChain(FilterChain filterChain)
Set filter chain associated with the request.
Specified by:
setFilterChain in interface Request

Parameters:
filterChain - new filter chain


setHost

public void setHost(Host host)
Set the Host within which this Request is being processed. This must be called as soon as the appropriate Host is identified, and before the Request is passed to a context.
Specified by:
setHost in interface Request

Parameters:
host - The newly associated Host


setMethod

public void setMethod(String method)
Set the HTTP request method used for this Request.
Specified by:
setMethod in interface HttpRequest

Parameters:
method - The request method


setNote

public void setNote(String name,
                    Object value)
Bind an object to a specified name in the internal notes associated with this request, replacing any existing binding for this name.
Specified by:
setNote in interface Request

Parameters:
name - Name to which the object should be bound
value - Object to be bound to the specified name


setPathInfo

public void setPathInfo(String path)
Set the path information for this Request. This will normally be called when the associated Context is mapping the Request to a particular Wrapper.
Specified by:
setPathInfo in interface HttpRequest

Parameters:
path - The path information


setProtocol

public void setProtocol(String protocol)
Set the protocol name and version associated with this Request.
Specified by:
setProtocol in interface Request

Parameters:
protocol - Protocol name and version


setQueryString

public void setQueryString(String query)
Set the query string for this Request. This will normally be called by the HTTP Connector, when it parses the request headers.
Specified by:
setQueryString in interface HttpRequest

Parameters:
query - The query string


setRemoteAddr

public void setRemoteAddr(String remoteAddr)
Set the IP address of the remote client associated with this Request.
Specified by:
setRemoteAddr in interface Request

Parameters:
remoteAddr - The remote IP address


setRemoteHost

public void setRemoteHost(String remoteHost)
Set the fully qualified name of the remote client associated with this Request.

Parameters:
remoteHost - The remote host name


setRequestURI

public void setRequestURI(String uri)
Set the unparsed request URI for this Request. This will normally be called by the HTTP Connector, when it parses the request headers.
Specified by:
setRequestURI in interface HttpRequest

Parameters:
uri - The request URI


setRequestedSessionCookie

public void setRequestedSessionCookie(boolean flag)
Set a flag indicating whether or not the requested session ID for this request came in through a cookie. This is normally called by the HTTP Connector, when it parses the request headers.
Specified by:
setRequestedSessionCookie in interface HttpRequest

Parameters:
flag - The new flag


setRequestedSessionId

public void setRequestedSessionId(String id)
Set the requested session ID for this request. This is normally called by the HTTP Connector, when it parses the request headers.
Specified by:
setRequestedSessionId in interface HttpRequest

Parameters:
id - The new session id


setRequestedSessionURL

public void setRequestedSessionURL(boolean flag)
Set a flag indicating whether or not the requested session ID for this request came in through a URL. This is normally called by the HTTP Connector, when it parses the request headers.
Specified by:
setRequestedSessionURL in interface HttpRequest

Parameters:
flag - The new flag


setResponse

public void setResponse(Response response)
Set the Response with which this Request is associated.
Specified by:
setResponse in interface Request

Parameters:
response - The new associated response


setScheme

public void setScheme(String scheme)
Set the name of the scheme associated with this request. Typical values are http, https, and ftp.
Specified by:
setScheme in interface Request

Parameters:
scheme - The scheme


setSecure

public void setSecure(boolean secure)
Set the value to be returned by isSecure() for this Request.
Specified by:
setSecure in interface Request

Parameters:
secure - The new isSecure value


setServerName

public void setServerName(String name)
Set the name of the server (virtual host) to process this request.
Specified by:
setServerName in interface Request

Parameters:
name - The server name


setServerPort

public void setServerPort(int port)
Set the port number of the server to process this request.
Specified by:
setServerPort in interface Request

Parameters:
port - The server port


setServletPath

public void setServletPath(String path)
Set the servlet path for this Request. This will normally be called when the associated Context is mapping the Request to a particular Wrapper.
Specified by:
setServletPath in interface HttpRequest

Parameters:
path - The servlet path


setSocket

public void setSocket(Socket socket)
Set the Socket (if any) through which this Request was received.
Specified by:
setSocket in interface Request

Parameters:
socket - The socket through which this request was received


setStream

public void setStream(InputStream stream)
Set the input stream associated with this Request.
Specified by:
setStream in interface Request

Parameters:
stream - The new input stream


setURIConverter

protected void setURIConverter(B2CConverter URIConverter)
Set the URI converter.

Parameters:
URIConverter - the new URI connverter


setUserPrincipal

public void setUserPrincipal(Principal principal)
Set the Principal who has been authenticated for this Request. This value is also used to calculate the value to be returned by the getRemoteUser() method.
Specified by:
setUserPrincipal in interface HttpRequest

Parameters:
principal - The user Principal


setValveContext

public void setValveContext(ValveContext valveContext)
Set valve context.
Specified by:
setValveContext in interface Request

Parameters:
valveContext - New valve context object


setWrapper

public void setWrapper(Wrapper wrapper)
Set the Wrapper within which this Request is being processed. This must be called as soon as the appropriate Wrapper is identified, and before the Request is ultimately passed to an application servlet.
Specified by:
setWrapper in interface Request

Parameters:
wrapper - The newly associated Wrapper


Copyright B) 2000-2003 Apache Software Foundation. All Rights Reserved.