org.apache.catalina.connector

Class Request

public class Request extends Object implements HttpServletRequest

Wrapper object for the Coyote request.

Version: $Revision: 892545 $ $Date: 2009-12-20 02:04:17 +0100 (Sun, 20 Dec 2009) $

Author: Remy Maucherat Craig R. McClanahan

Field Summary
protected HashMapattributes
The attributes associated with this Request, keyed by attribute name.
protected StringauthType
Authentication type.
protected booleancomet
Comet state
protected Connectorconnector
Associated Catalina connector.
protected Contextcontext
Associated context.
protected Cookie[]cookies
The set of cookies associated with this Request.
protected booleancookiesParsed
Cookies parsed flag.
protected RequestcoyoteRequest
Coyote request.
protected static intCACHED_POST_LEN
Post data buffer.
protected static LocaledefaultLocale
The default Locale if none are specified.
protected ObjectdispatcherType
The current dispatcher type.
protected CometEventImplevent
Associated event.
protected RequestFacadefacade
The facade associated with this request.
protected FilterChainfilterChain
Filter chain associated with the request.
protected SimpleDateFormat[]formats
The set of SimpleDateFormat formats to use in getDateHeader().
protected static TimeZoneGMT_ZONE
protected static Stringinfo
Descriptive information about this Request implementation.
protected InputBufferinputBuffer
The associated input buffer.
protected CoyoteInputStreaminputStream
ServletInputStream.
protected StringlocalAddr
Local address
protected ArrayListlocales
The preferred Locales assocaited with this Request.
protected booleanlocalesParsed
Parse locales.
protected StringlocalName
Local address
protected intlocalPort
Local port
protected MappingDatamappingData
Mapping data.
protected ParameterMapparameterMap
Hash map used in the getParametersMap method.
protected booleanparametersParsed
Request parameters parsed flag.
protected byte[]postData
protected CoyoteReaderreader
Reader.
protected StringremoteAddr
Remote address.
protected StringremoteHost
Remote host.
protected intremotePort
Remote port
protected ObjectrequestDispatcherPath
The current request dispatcher path.
protected booleanrequestedSessionCookie
Was the requested session ID received in a cookie?
protected StringrequestedSessionId
The requested session ID (if any) for this request.
protected booleanrequestedSessionURL
Was the requested session ID received in a URL?
protected Responseresponse
The response with which this request is associated.
protected booleansecure
Secure flag.
protected Sessionsession
The currently active session for this request.
protected booleansessionParsed
Session parsed flag.
protected static StringManagersm
The string manager for this package.
protected Subjectsubject
The Subject associated with the current AccessControllerContext
protected PrincipaluserPrincipal
User principal.
protected booleanusingInputStream
Using stream flag.
protected booleanusingReader
Using writer flag.
protected B2CConverterURIConverter
URI byte to char converter (not recycled).
protected Wrapperwrapper
Associated wrapper.
Constructor Summary
Request()
Method Summary
voidaddCookie(Cookie cookie)
Add a Cookie to the set of Cookies associated with this Request.
voidaddHeader(String name, String value)
Add a Header to the set of Headers associated with this Request.
voidaddLocale(Locale locale)
Add a Locale to the set of preferred Locales for this Request.
voidaddParameter(String name, String[] values)
Add a parameter name and corresponding set of values to this Request.
voidchangeSessionId(String newSessionId)
Change the ID of the session that this request is associated with.
voidclearCookies()
Clear the collection of Cookies associated with this Request.
voidclearEncoders()
Clear cached encoders (to save memory for Comet requests).
voidclearHeaders()
Clear the collection of Headers associated with this Request.
voidclearLocales()
Clear the collection of Locales associated with this Request.
voidclearParameters()
Clear the collection of parameters associated with this Request.
voidcometClose()
protected voidconfigureSessionCookie(Cookie cookie)
Configures the given JSESSIONID cookie.
ServletInputStreamcreateInputStream()
Create and return a ServletInputStream to read the content associated with this Request.
protected SessiondoGetSession(boolean create)
voidfinishRequest()
Perform whatever actions are required to flush and close the input stream or reader, in a single operation.
ObjectgetAttribute(String name)
Return the specified request attribute if it exists; otherwise, return null.
EnumerationgetAttributeNames()
Return the names of all request attributes for this Request, or an empty Enumeration if there are none.
StringgetAuthType()
Return the authentication type used for this Request.
booleangetAvailable()
Return true if bytes are available.
StringgetCharacterEncoding()
Return the character encoding for this Request.
ConnectorgetConnector()
Return the Connector through which this Request was received.
intgetContentLength()
Return the content length for this Request.
StringgetContentType()
Return the content type for this Request.
ContextgetContext()
Return the Context within which this Request is being processed.
StringgetContextPath()
Return the portion of the request URI used to select the Context of the Request.
MessageBytesgetContextPathMB()
Get the context path.
Cookie[]getCookies()
Return the set of Cookies received with this Request.
RequestgetCoyoteRequest()
Get the Coyote request.
longgetDateHeader(String name)
Return the value of the specified date header, if any; otherwise return -1.
StringgetDecodedRequestURI()
Get the decoded request URI.
MessageBytesgetDecodedRequestURIMB()
Get the decoded request URI.
CometEventImplgetEvent()
Get the event associated with the request.
FilterChaingetFilterChain()
Get filter chain associated with the request.
StringgetHeader(String name)
Return the first value of the specified header, if any; otherwise, return null
EnumerationgetHeaderNames()
Return the names of all headers received with this request.
EnumerationgetHeaders(String name)
Return all of the values of the specified header, if any; otherwise, return an empty enumeration.
HostgetHost()
Return the Host within which this Request is being processed.
StringgetInfo()
Return descriptive information about this Request implementation and the corresponding version number, in the format <description>/<version>.
ServletInputStreamgetInputStream()
Return the servlet input stream for this Request.
intgetIntHeader(String name)
Return the value of the specified header as an integer, or -1 if there is no such header for this request.
StringgetLocalAddr()
Returns the Internet Protocol (IP) address of the interface on which the request was received.
LocalegetLocale()
Return the preferred Locale that the client will accept content in, based on the value for the first Accept-Language header that was encountered.
EnumerationgetLocales()
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.
StringgetLocalName()
Returns the host name of the Internet Protocol (IP) interface on which the request was received.
intgetLocalPort()
Returns the Internet Protocol (IP) port number of the interface on which the request was received.
MappingDatagetMappingData()
Return mapping data.
StringgetMethod()
Return the HTTP request method used in this Request.
ObjectgetNote(String name)
Return the object bound with the specified name to the internal notes for this request, or null if no such binding exists.
IteratorgetNoteNames()
Return an Iterator containing the String names of all notes bindings that exist for this request.
StringgetParameter(String name)
Return the value of the specified request parameter, if any; otherwise, return null.
MapgetParameterMap()
Returns a Map of the parameters of this request.
EnumerationgetParameterNames()
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.
StringgetPathInfo()
Return the path information associated with this Request.
MessageBytesgetPathInfoMB()
Get the path info.
StringgetPathTranslated()
Return the extra path information for this request, translated to a real path.
PrincipalgetPrincipal()
Return the principal that has been authenticated for this Request.
StringgetProtocol()
Return the protocol and version used to make this Request.
StringgetQueryString()
Return the query string associated with this request.
BufferedReadergetReader()
Read the Reader wrapping the input stream for this Request.
StringgetRealPath(String path)
Return the real path of the specified virtual path.
StringgetRemoteAddr()
Return the remote IP address making this Request.
StringgetRemoteHost()
Return the remote host name making this Request.
intgetRemotePort()
Returns the Internet Protocol (IP) source port of the client or last proxy that sent the request.
StringgetRemoteUser()
Return the name of the remote user that has been authenticated for this Request.
HttpServletRequestgetRequest()
Return the ServletRequest for which this object is the facade.
RequestDispatchergetRequestDispatcher(String path)
Return a RequestDispatcher that wraps the resource at the specified path, which may be interpreted as relative to the current request path.
StringgetRequestedSessionId()
Return the session identifier included in this request, if any.
MessageBytesgetRequestPathMB()
Get the request path.
StringgetRequestURI()
Return the request URI for this request.
StringBuffergetRequestURL()
Reconstructs the URL the client used to make the request.
ResponsegetResponse()
Return the Response with which this Request is associated.
StringgetScheme()
Return the scheme used to make this Request.
StringgetServerName()
Return the server name responding to this Request.
intgetServerPort()
Return the server port responding to this Request.
StringgetServletPath()
Return the portion of the request URI used to select the servlet that will process this request.
MessageBytesgetServletPathMB()
Get the servlet path.
HttpSessiongetSession()
Return the session associated with this Request, creating one if necessary.
HttpSessiongetSession(boolean create)
Return the session associated with this Request, creating one if necessary and requested.
SessiongetSessionInternal()
Return the session associated with this Request, creating one if necessary.
SessiongetSessionInternal(boolean create)
Return the session associated with this Request, creating one if necessary and requested.
InputStreamgetStream()
Return the input stream associated with this Request.
protected B2CConvertergetURIConverter()
Return the URI converter.
PrincipalgetUserPrincipal()
Return the principal that has been authenticated for this Request.
WrappergetWrapper()
Return the Wrapper within which this Request is being processed.
protected static booleanisAlpha(String value)
booleanisComet()
Return true if the current request is handling Comet traffic.
booleanisParametersParsed()
return true if we have parsed parameters
booleanisRequestedSessionIdFromCookie()
Return true if the session identifier included in this request came from a cookie.
booleanisRequestedSessionIdFromUrl()
Return true if the session identifier included in this request came from the request URI.
booleanisRequestedSessionIdFromURL()
Return true if the session identifier included in this request came from the request URI.
booleanisRequestedSessionIdValid()
Return true if the session identifier included in this request identifies a valid session.
booleanisSecure()
Was this request received on a secure connection?
booleanisUserInRole(String role)
Return true if the authenticated user principal possesses the specified role name.
protected voidparseCookies()
Parse cookies.
protected voidparseLocales()
Parse request locales.
protected voidparseLocalesHeader(String value)
Parse accept-language header value.
protected voidparseParameters()
Parse request parameters.
booleanread()
Clear cached encoders (to save memory for Comet requests).
protected byte[]readChunkedPostBody()
Read chunked post body.
protected intreadPostBody(byte[] body, int len)
Read post body in an array.
voidrecycle()
Release all object references, and initialize instance variables, in preparation for reuse of this object.
voidremoveAttribute(String name)
Remove the specified request attribute if it exists.
voidremoveNote(String name)
Remove any object bound to the specified name in the internal notes for this request.
voidsetAttribute(String name, Object value)
Set the specified request attribute to the specified value.
voidsetAuthType(String type)
Set the authentication type used for this request, if any; otherwise set the type to null.
voidsetCharacterEncoding(String enc)
Overrides the name of the character encoding used in the body of this request.
voidsetComet(boolean comet)
Set comet state.
voidsetCometTimeout(long timeout)
voidsetConnector(Connector connector)
Set the Connector through which this Request was received.
voidsetContentLength(int length)
Set the content length associated with this Request.
voidsetContentType(String type)
Set the content type (and optionally the character encoding) associated with this Request.
voidsetContext(Context context)
Set the Context within which this Request is being processed.
voidsetContextPath(String path)
Set the context path for this Request.
voidsetCookies(Cookie[] cookies)
Set the set of cookies recieved with this Request.
voidsetCoyoteRequest(Request coyoteRequest)
Set the Coyote request.
voidsetDecodedRequestURI(String uri)
Set the decoded request URI.
voidsetFilterChain(FilterChain filterChain)
Set filter chain associated with the request.
voidsetHost(Host host)
Set the Host within which this Request is being processed.
voidsetMethod(String method)
Set the HTTP request method used for this Request.
voidsetNote(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.
voidsetPathInfo(String path)
Set the path information for this Request.
voidsetProtocol(String protocol)
Set the protocol name and version associated with this Request.
voidsetQueryString(String query)
Set the query string for this Request.
voidsetRemoteAddr(String remoteAddr)
Set the IP address of the remote client associated with this Request.
voidsetRemoteHost(String remoteHost)
Set the fully qualified name of the remote client associated with this Request.
voidsetRequestedSessionCookie(boolean flag)
Set a flag indicating whether or not the requested session ID for this request came in through a cookie.
voidsetRequestedSessionId(String id)
Set the requested session ID for this request.
voidsetRequestedSessionURL(boolean flag)
Set a flag indicating whether or not the requested session ID for this request came in through a URL.
voidsetRequestURI(String uri)
Set the unparsed request URI for this Request.
voidsetResponse(Response response)
Set the Response with which this Request is associated.
voidsetScheme(String scheme)
Set the name of the scheme associated with this request.
voidsetSecure(boolean secure)
Set the value to be returned by isSecure() for this Request.
voidsetServerName(String name)
Set the name of the server (virtual host) to process this request.
voidsetServerPort(int port)
Set the port number of the server to process this request.
voidsetServletPath(String path)
Set the servlet path for this Request.
voidsetStream(InputStream stream)
Set the input stream associated with this Request.
protected voidsetURIConverter(B2CConverter URIConverter)
Set the URI converter.
voidsetUserPrincipal(Principal principal)
Set the Principal who has been authenticated for this Request.
voidsetWrapper(Wrapper wrapper)
Set the Wrapper within which this Request is being processed.
protected Stringunescape(String s)

Field Detail

attributes

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

authType

protected String authType
Authentication type.

comet

protected boolean comet
Comet state

connector

protected Connector 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.

CACHED_POST_LEN

protected static int CACHED_POST_LEN
Post data buffer.

defaultLocale

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

dispatcherType

protected Object dispatcherType
The current dispatcher type.

event

protected CometEventImpl event
Associated event.

facade

protected RequestFacade 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(). Notice that because SimpleDateFormat is not thread-safe, we can't declare formats[] as a static variable.

GMT_ZONE

protected static final TimeZone GMT_ZONE

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

locales

protected ArrayList locales
The preferred Locales assocaited with this Request.

localesParsed

protected boolean localesParsed
Parse locales.

localName

protected String localName
Local address

localPort

protected int localPort
Local port

mappingData

protected MappingData mappingData
Mapping data.

parameterMap

protected ParameterMap parameterMap
Hash map used in the getParametersMap method.

parametersParsed

protected boolean parametersParsed
Request parameters parsed flag.

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.

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.

subject

protected transient 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.

URIConverter

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

wrapper

protected Wrapper wrapper
Associated wrapper.

Constructor Detail

Request

public Request()

Method Detail

addCookie

public void addCookie(Cookie cookie)
Add a Cookie to the set of Cookies associated with this Request.

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.

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().

Parameters: locale The new preferred Locale

addParameter

public void addParameter(String name, String[] 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).

Parameters: name Name of this request parameter values Corresponding values for this request parameter

changeSessionId

public void changeSessionId(String newSessionId)
Change the ID of the session that this request is associated with. There are several things that may trigger an ID change. These include moving between nodes in a cluster and session fixation prevention during the authentication process.

Parameters: session The session to change the session ID for

clearCookies

public void clearCookies()
Clear the collection of Cookies associated with this Request.

clearEncoders

public void clearEncoders()
Clear cached encoders (to save memory for Comet requests).

clearHeaders

public void clearHeaders()
Clear the collection of Headers associated with this Request.

clearLocales

public void clearLocales()
Clear the collection of Locales associated with this Request.

clearParameters

public void clearParameters()
Clear the collection of parameters associated with this Request.

cometClose

public void cometClose()

configureSessionCookie

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

Parameters: cookie The JSESSIONID cookie to be configured

createInputStream

public ServletInputStream createInputStream()
Create and return a ServletInputStream to read the content associated with this Request.

Throws: IOException if an input/output error occurs

doGetSession

protected Session doGetSession(boolean create)

finishRequest

public void finishRequest()
Perform whatever actions are required to flush and close the input stream or reader, in a single operation.

Throws: IOException if an input/output error occurs

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. Note that the attribute names return will only be those for the attributes set via Request. Tomcat internal attributes will not be included although they are accessible via getAttribute. The Tomcat internal attributes include: The underlying connector may also expose request attributes. These all have names starting with "org.apache.tomcat" and include: Connector implementations may return some, all or none of these attributes and may also support additional attributes.

getAuthType

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

getAvailable

public boolean getAvailable()
Return true if bytes are available.

getCharacterEncoding

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

getConnector

public Connector getConnector()
Return the Connector through which this Request was received.

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.

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.

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

Throws: IllegalArgumentException if the specified header value cannot be converted to a date

getDecodedRequestURI

public String getDecodedRequestURI()
Get the decoded request URI.

Returns: the URL decoded request URI

getDecodedRequestURIMB

public MessageBytes getDecodedRequestURIMB()
Get the decoded request URI.

Returns: the URL decoded request URI

getEvent

public CometEventImpl getEvent()
Get the event associated with the request.

Returns:

getFilterChain

public FilterChain getFilterChain()
Get filter chain associated with the 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.

getInfo

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

getInputStream

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

Throws: IllegalStateException if getReader() has already been called for this request IOException if an input/output error occurs

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

Throws: IllegalArgumentException if the specified header value cannot be converted to an integer

getLocalAddr

public String getLocalAddr()
Returns the Internet Protocol (IP) address 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.

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.

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.

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.

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.

Returns: the path info

getPathTranslated

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

getPrincipal

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

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()
Read the Reader wrapping the input stream for this Request. The default implementation wraps a BufferedReader around the servlet input stream returned by createInputStream().

Throws: IllegalStateException if getInputStream() has already been called for this request IOException if an input/output error occurs

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 HttpServletRequest getRequest()
Return the ServletRequest for which this object is the facade. This method must be implemented by a subclass.

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

getRequestedSessionId

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

getRequestPathMB

public MessageBytes getRequestPathMB()
Get the request path.

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

getResponse

public Response getResponse()
Return the Response with which this Request is associated.

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.

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

getSessionInternal

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

getSessionInternal

public Session getSessionInternal(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

getStream

public InputStream getStream()
Return the input stream associated with this Request.

getURIConverter

protected B2CConverter getURIConverter()
Return the URI converter.

getUserPrincipal

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

getWrapper

public Wrapper getWrapper()
Return the Wrapper within which this Request is being processed.

isAlpha

protected static final boolean isAlpha(String value)

isComet

public boolean isComet()
Return true if the current request is handling Comet traffic.

isParametersParsed

public boolean isParametersParsed()
return true if we have parsed parameters

isRequestedSessionIdFromCookie

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

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.

isRequestedSessionIdFromURL

public boolean isRequestedSessionIdFromURL()
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.

parseParameters

protected void parseParameters()
Parse request parameters.

read

public boolean read()
Clear cached encoders (to save memory for Comet requests).

readChunkedPostBody

protected byte[] readChunkedPostBody()
Read chunked post body.

readPostBody

protected int readPostBody(byte[] body, int len)
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.

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.

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".

Parameters: type The authentication type used

setCharacterEncoding

public void setCharacterEncoding(String enc)
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

Throws: UnsupportedEncodingException if the specified encoding is not supported

Since: Servlet 2.3

setComet

public void setComet(boolean comet)
Set comet state.

setCometTimeout

public void setCometTimeout(long timeout)

setConnector

public void setConnector(Connector connector)
Set the Connector through which this Request was received.

Parameters: connector The new connector

setContentLength

public void setContentLength(int length)
Set the content length associated with this 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.

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.

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.

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.

Parameters: uri The decoded request URI

setFilterChain

public void setFilterChain(FilterChain filterChain)
Set filter chain associated with the 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.

Parameters: host The newly associated Host

setMethod

public void setMethod(String method)
Set the HTTP request method used for this Request.

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.

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.

Parameters: path The path information

setProtocol

public void setProtocol(String protocol)
Set the protocol name and version associated with this 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.

Parameters: query The query string

setRemoteAddr

public void setRemoteAddr(String remoteAddr)
Set the IP address of the remote client associated with this 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

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.

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.

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.

Parameters: flag The new flag

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.

Parameters: uri The request URI

setResponse

public void setResponse(Response response)
Set the Response with which this Request is associated.

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.

Parameters: scheme The scheme

setSecure

public void setSecure(boolean secure)
Set the value to be returned by isSecure() for this 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.

Parameters: name The server name

setServerPort

public void setServerPort(int port)
Set the port number of the server to process this 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.

Parameters: path The servlet path

setStream

public void setStream(InputStream stream)
Set the input stream associated with this 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.

Parameters: principal The user Principal

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.

Parameters: wrapper The newly associated Wrapper

unescape

protected String unescape(String s)
Copyright © 2000-2011 Apache Software Foundation. All Rights Reserved.