org.apache.catalina.connector
Class Request

java.lang.Object
  extended by org.apache.catalina.connector.Request
All Implemented Interfaces:
javax.servlet.http.HttpServletRequest, javax.servlet.ServletRequest

public class Request
extends java.lang.Object
implements javax.servlet.http.HttpServletRequest

Wrapper object for the Coyote request.

Version:
$Revision: 1337 $ $Date: 2009-12-14 15:34:01 +0100 (Mon, 14 Dec 2009) $
Author:
Remy Maucherat, Craig R. McClanahan

Nested Class Summary
 class Request.AsyncContextImpl
           
 class Request.AsyncListenerRegistration
           
 
Field Summary
protected  Request.AsyncContextImpl asyncContext
          Servlet 3.0 asynchronous mode context (also used as a flag - when not null, we're in asynchronous mode).
protected  java.util.LinkedHashMap<javax.servlet.AsyncListener,Request.AsyncListenerRegistration> asyncListeners
          Async listeners.
protected  long asyncTimeout
          Async timeout.
protected  java.util.HashMap attributes
          The attributes associated with this Request, keyed by attribute name.
protected  java.lang.String authType
          Authentication type.
protected static int CACHED_POST_LEN
          Post data buffer.
protected  boolean canStartAsync
          Can call startAsync.
protected static boolean CHECK_ASYNC
           
protected  Connector connector
          Associated Catalina connector.
protected  Context context
          Associated context.
protected  javax.servlet.http.Cookie[] cookies
          The set of cookies associated with this Request.
protected  boolean cookiesParsed
          Cookies parsed flag.
protected  Request coyoteRequest
          Coyote request.
protected  int currentFilterChain
          Number of filter chains used.
protected static java.util.Locale defaultLocale
          The default Locale if none are specified.
protected  java.lang.Object dispatcherType
          The current dispatcher type.
protected  HttpEventImpl event
          Associated event.
protected  boolean eventMode
          Event mode flag
protected  RequestFacade facade
          The facade associated with this request.
protected  java.util.ArrayList<ApplicationFilterChain> filterChains
          Filter chains associated with the request.
protected  java.text.SimpleDateFormat[] formats
          The set of SimpleDateFormat formats to use in getDateHeader().
protected static java.util.TimeZone GMT_ZONE
           
protected static java.lang.String info
          Descriptive information about this Request implementation.
protected  InputBuffer inputBuffer
          The associated input buffer.
protected  CoyoteInputStream inputStream
          ServletInputStream.
protected  java.lang.String localAddr
          Local address
protected  java.util.ArrayList locales
          The preferred Locales assocaited with this Request.
protected  boolean localesParsed
          Parse locales.
protected  java.lang.String localName
          Local address
protected  int localPort
          Local port
protected  MappingData mappingData
          Mapping data.
protected  ParameterMap parameterMap
          Hash map used in the getParametersMap method.
protected  boolean parametersParsed
          Request parameters parsed flag.
protected  java.util.Map<java.lang.String,javax.servlet.http.Part> parts
          Parts associated with the request.
protected  byte[] postData
           
protected  CoyoteReader reader
          Reader.
protected  java.lang.String remoteAddr
          Remote address.
protected  java.lang.String remoteHost
          Remote host.
protected  int remotePort
          Remote port
protected  java.lang.Object requestDispatcherPath
          The current request dispatcher path.
protected  boolean requestedSessionCookie
          Was the requested session ID received in a cookie?
protected  java.lang.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 static boolean SESSION_ID_CHECK
           
protected  boolean sessionParsed
          Session parsed flag.
protected static StringManager sm
          The string manager for this package.
protected  javax.security.auth.Subject subject
          The Subject associated with the current AccessControllerContext
protected  B2CConverter URIConverter
          URI byte to char converter (not recycled).
protected  java.security.Principal userPrincipal
          User principal.
protected  boolean usingInputStream
          Using stream flag.
protected  boolean usingReader
          Using writer flag.
protected static boolean WRAPPED_RESPONSE_IN_LOGIN
           
protected  Wrapper wrapper
          Associated wrapper.
 
Fields inherited from interface javax.servlet.http.HttpServletRequest
BASIC_AUTH, CLIENT_CERT_AUTH, DIGEST_AUTH, FORM_AUTH
 
Constructor Summary
Request()
           
 
Method Summary
 void addCookie(javax.servlet.http.Cookie cookie)
          Add a Cookie to the set of Cookies associated with this Request.
 void addHeader(java.lang.String name, java.lang.String value)
          Add a Header to the set of Headers associated with this Request.
 void addLocale(java.util.Locale locale)
          Add a Locale to the set of preferred Locales for this Request.
 void addParameter(java.lang.String name, java.lang.String[] values)
          Add a parameter name and corresponding set of values to this Request.
 boolean authenticate(javax.servlet.http.HttpServletResponse response)
          Use the container login mechanism configured for the ServletContext to authenticate the user making this request.
 void changeSessionId(java.lang.String newSessionId)
          Change the ID of the session that this request is associated with.
 void clearCookies()
          Clear the collection of Cookies associated with this Request.
 void clearEncoders()
          Clear cached encoders (to save memory for event or async requests).
 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(javax.servlet.http.Cookie cookie)
          Configures the given JSESSIONID cookie.
 javax.servlet.ServletInputStream createInputStream()
          Create and return a ServletInputStream to read the content associated with this Request.
protected  Session doGetSession(boolean create)
           
 void finishRequest()
          Perform whatever actions are required to flush and close the input stream or reader, in a single operation.
 javax.servlet.AsyncContext getAsyncContext()
          Gets the AsyncContext that was created or reinitialized by the most recent invocation of ServletRequest.startAsync() or ServletRequest.startAsync(ServletRequest,ServletResponse) on this request.
 java.lang.Object getAttribute(java.lang.String name)
          Return the specified request attribute if it exists; otherwise, return null.
 java.util.Enumeration getAttributeNames()
          Return the names of all request attributes for this Request, or an empty Enumeration if there are none.
 java.lang.String getAuthType()
          Return the authentication type used for this Request.
 boolean getCanStartAsync()
           
 java.lang.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.
 java.lang.String getContentType()
          Return the content type for this Request.
 Context getContext()
          Return the Context within which this Request is being processed.
 java.lang.String getContextPath()
          Return the portion of the request URI used to select the Context of the Request.
 MessageBytes getContextPathMB()
          Get the context path.
 javax.servlet.http.Cookie[] getCookies()
          Return the set of Cookies received with this Request.
 Request getCoyoteRequest()
          Get the Coyote request.
 long getDateHeader(java.lang.String name)
          Return the value of the specified date header, if any; otherwise return -1.
 java.lang.String getDecodedRequestURI()
          Get the decoded request URI.
 MessageBytes getDecodedRequestURIMB()
          Get the decoded request URI.
 javax.servlet.DispatcherType getDispatcherType()
          Gets the dispatcher type of this request.
 HttpEventImpl getEvent()
          Get the event associated with the request.
 ApplicationFilterChain getFilterChain()
          Get filter chain associated with the request.
 java.lang.String getHeader(java.lang.String name)
          Return the first value of the specified header, if any; otherwise, return null
 java.util.Enumeration getHeaderNames()
          Return the names of all headers received with this request.
 java.util.Enumeration getHeaders(java.lang.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.
 java.lang.String getInfo()
          Return descriptive information about this Request implementation and the corresponding version number, in the format <description>/<version>.
 javax.servlet.ServletInputStream getInputStream()
          Return the servlet input stream for this Request.
 int getIntHeader(java.lang.String name)
          Return the value of the specified header as an integer, or -1 if there is no such header for this request.
 java.lang.String getLocalAddr()
          Returns the Internet Protocol (IP) address of the interface on which the request was received.
 java.util.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.
 java.util.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.
 java.lang.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.
 MappingData getMappingData()
          Return mapping data.
 java.lang.String getMethod()
          Return the HTTP request method used in this Request.
 java.lang.Object getNote(java.lang.String name)
          Return the object bound with the specified name to the internal notes for this request, or null if no such binding exists.
 java.util.Iterator getNoteNames()
          Return an Iterator containing the String names of all notes bindings that exist for this request.
 java.lang.String getParameter(java.lang.String name)
          Return the value of the specified request parameter, if any; otherwise, return null.
 java.util.Map getParameterMap()
          Returns a Map of the parameters of this request.
 java.util.Enumeration getParameterNames()
          Return the names of all defined request parameters for this request.
 java.lang.String[] getParameterValues(java.lang.String name)
          Return the defined values for the specified request parameter, if any; otherwise, return null.
 javax.servlet.http.Part getPart(java.lang.String name)
          Gets the Part with the given name.
 java.util.Collection<javax.servlet.http.Part> getParts()
          Gets all the Part components of this request, provided that it is of type multipart/form-data.
 java.lang.String getPathInfo()
          Return the path information associated with this Request.
 MessageBytes getPathInfoMB()
          Get the path info.
 java.lang.String getPathTranslated()
          Return the extra path information for this request, translated to a real path.
 java.security.Principal getPrincipal()
          Return the principal that has been authenticated for this Request.
 java.lang.String getProtocol()
          Return the protocol and version used to make this Request.
 java.lang.String getQueryString()
          Return the query string associated with this request.
 java.io.BufferedReader getReader()
          Read the Reader wrapping the input stream for this Request.
 java.lang.String getRealPath(java.lang.String path)
          Deprecated. As of version 2.1 of the Java Servlet API, use ServletContext.getRealPath().
 java.lang.String getRemoteAddr()
          Return the remote IP address making this Request.
 java.lang.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.
 java.lang.String getRemoteUser()
          Return the name of the remote user that has been authenticated for this Request.
 javax.servlet.http.HttpServletRequest getRequest()
          Return the ServletRequest for which this object is the facade.
 javax.servlet.RequestDispatcher getRequestDispatcher(java.lang.String path)
          Return a RequestDispatcher that wraps the resource at the specified path, which may be interpreted as relative to the current request path.
 java.lang.String getRequestedSessionId()
          Return the session identifier included in this request, if any.
 javax.servlet.http.HttpServletRequest getRequestFacade()
          Alias for AsyncContext inner class.
 MessageBytes getRequestPathMB()
          Get the request path.
 java.lang.String getRequestURI()
          Return the request URI for this request.
 java.lang.StringBuffer getRequestURL()
          Reconstructs the URL the client used to make the request.
 Response getResponse()
          Return the Response with which this Request is associated.
 javax.servlet.http.HttpServletResponse getResponseFacade()
          Alias for AsyncContext inner class.
 java.lang.String getScheme()
          Return the scheme used to make this Request.
 java.lang.String getServerName()
          Return the server name responding to this Request.
 int getServerPort()
          Return the server port responding to this Request.
 javax.servlet.ServletContext getServletContext()
          Gets the servlet context to which this ServletRequest was last dispatched.
 javax.servlet.ServletContext getServletContext0()
           
 java.lang.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.
 javax.servlet.http.HttpSession getSession()
          Return the session associated with this Request, creating one if necessary.
 javax.servlet.http.HttpSession getSession(boolean create)
          Return the session associated with this Request, creating one if necessary and requested.
 Session getSessionInternal()
          Return the session associated with this Request, creating one if necessary.
 Session getSessionInternal(boolean create)
          Return the session associated with this Request, creating one if necessary and requested.
 java.io.InputStream getStream()
          Return the input stream associated with this Request.
protected  B2CConverter getURIConverter()
          Return the URI converter.
 java.security.Principal getUserPrincipal()
          Return the principal that has been authenticated for this Request.
 Wrapper getWrapper()
          Return the Wrapper within which this Request is being processed.
protected static boolean isAlpha(java.lang.String value)
           
 boolean isAsyncStarted()
          Checks if this request has been put into asynchronous mode.
 boolean isAsyncSupported()
          Checks if this request supports asynchronous operation.
 boolean isEof()
          Return true if the EOF has been reached.
 boolean isEventMode()
          Return true if the current request is using event mode.
 boolean isReadable()
          Return true if bytes are available.
 boolean isRequestedSessionIdFromCookie()
          Return true if the session identifier included in this request came from a cookie.
 boolean isRequestedSessionIdFromUrl()
          Deprecated. As of Version 2.1 of the Java Servlet API, use isRequestedSessionIdFromURL() instead.
 boolean isRequestedSessionIdFromURL()
          Return true if the session identifier included in this request came from the request URI.
 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(java.lang.String role)
          Return true if the authenticated user principal possesses the specified role name.
 void login(java.lang.String username, java.lang.String password)
          Validate the provided username and password in the password validation realm used by the web container login mechanism configured for the ServletContext.
 void logout()
          Establish null as the value returned when getUserPrincipal, getRemoteUser, and getAuthType is called on the request.
 void nextFilterChain()
          Set filter chain associated with the request.
protected  void parseCookies()
          Parse cookies.
protected  void parseLocales()
          Parse request locales.
protected  void parseLocalesHeader(java.lang.String value)
          Parse accept-language header value.
protected  void parseMultipart()
          Parse multipart.
protected  void parseParameters()
          Parse request parameters.
 int read()
          Read bytes into the low level buffer.
protected  byte[] readChunkedPostBody()
          Read chunked post body.
protected  int readPostBody(byte[] body, int len)
          Read post body in an array.
 boolean ready()
          Return true if bytes or chars are available.
 void recycle()
          Release all object references, and initialize instance variables, in preparation for reuse of this object.
 void releaseFilterChain()
          Set filter chain associated with the request.
 void removeAttribute(java.lang.String name)
          Remove the specified request attribute if it exists.
 void removeNote(java.lang.String name)
          Remove any object bound to the specified name in the internal notes for this request.
 void resume()
           
 void setAttribute(java.lang.String name, java.lang.Object value)
          Set the specified request attribute to the specified value.
 void setAuthType(java.lang.String type)
          Set the authentication type used for this request, if any; otherwise set the type to null.
 void setCanStartAsync(boolean canStartAsync)
           
 void setCharacterEncoding(java.lang.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(java.lang.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(java.lang.String path)
          Set the context path for this Request.
 void setCookies(javax.servlet.http.Cookie[] cookies)
          Set the set of cookies recieved with this Request.
 void setCoyoteRequest(Request coyoteRequest)
          Set the Coyote request.
 void setDecodedRequestURI(java.lang.String uri)
          Set the decoded request URI.
 void setEventMode(boolean eventMode)
          Set event mode.
 void setFilterChain(ApplicationFilterChain filterChain)
          Set filter chain associated with the request.
 void setHost(Host host)
          Set the Host within which this Request is being processed.
 void setMethod(java.lang.String method)
          Set the HTTP request method used for this Request.
 void setNote(java.lang.String name, java.lang.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(java.lang.String path)
          Set the path information for this Request.
 void setProtocol(java.lang.String protocol)
          Set the protocol name and version associated with this Request.
 void setQueryString(java.lang.String query)
          Set the query string for this Request.
 void setRemoteAddr(java.lang.String remoteAddr)
          Set the IP address of the remote client associated with this Request.
 void setRemoteHost(java.lang.String remoteHost)
          Set the fully qualified name of the remote client associated with 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(java.lang.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 setRequestURI(java.lang.String uri)
          Set the unparsed request URI for this Request.
 void setResponse(Response response)
          Set the Response with which this Request is associated.
 void setScheme(java.lang.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(java.lang.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(java.lang.String path)
          Set the servlet path for this Request.
 void setStream(java.io.InputStream stream)
          Set the input stream associated with this Request.
 void setTimeout(int timeout)
          Set connection timeout.
 void setTimeout0(int timeout)
           
protected  void setURIConverter(B2CConverter URIConverter)
          Set the URI converter.
 void setUserPrincipal(java.security.Principal principal)
          Set the Principal who has been authenticated for this Request.
 void setWrapper(Wrapper wrapper)
          Set the Wrapper within which this Request is being processed.
 javax.servlet.AsyncContext startAsync()
          Puts this request into asynchronous mode, and initializes its AsyncContext with the original (unwrapped) ServletRequest and ServletResponse objects.
 javax.servlet.AsyncContext startAsync(javax.servlet.ServletRequest servletRequest, javax.servlet.ServletResponse servletResponse)
          Puts this request into asynchronous mode, and initializes its AsyncContext with the given request and response objects.
 void suspend()
           
 java.lang.String toString()
           
protected  java.lang.String unescape(java.lang.String s)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

SESSION_ID_CHECK

protected static final boolean SESSION_ID_CHECK

WRAPPED_RESPONSE_IN_LOGIN

protected static final boolean WRAPPED_RESPONSE_IN_LOGIN

CHECK_ASYNC

protected static final boolean CHECK_ASYNC

coyoteRequest

protected Request coyoteRequest
Coyote request.


GMT_ZONE

protected static final java.util.TimeZone GMT_ZONE

sm

protected static StringManager sm
The string manager for this package.


cookies

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


formats

protected java.text.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.


defaultLocale

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


attributes

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


locales

protected java.util.ArrayList locales
The preferred Locales assocaited with this Request.


asyncContext

protected Request.AsyncContextImpl asyncContext
Servlet 3.0 asynchronous mode context (also used as a flag - when not null, we're in asynchronous mode).


authType

protected java.lang.String authType
Authentication type.


asyncTimeout

protected long asyncTimeout
Async timeout.


asyncListeners

protected java.util.LinkedHashMap<javax.servlet.AsyncListener,Request.AsyncListenerRegistration> asyncListeners
Async listeners.


event

protected HttpEventImpl event
Associated event.


eventMode

protected boolean eventMode
Event mode flag


dispatcherType

protected java.lang.Object dispatcherType
The current dispatcher type.


inputBuffer

protected InputBuffer inputBuffer
The associated input buffer.


inputStream

protected CoyoteInputStream inputStream
ServletInputStream.


reader

protected CoyoteReader reader
Reader.


usingInputStream

protected boolean usingInputStream
Using stream flag.


usingReader

protected boolean usingReader
Using writer flag.


userPrincipal

protected java.security.Principal userPrincipal
User principal.


sessionParsed

protected boolean sessionParsed
Session parsed flag.


parametersParsed

protected boolean parametersParsed
Request parameters parsed flag.


cookiesParsed

protected boolean cookiesParsed
Cookies parsed flag.


secure

protected boolean secure
Secure flag.


subject

protected transient javax.security.auth.Subject subject
The Subject associated with the current AccessControllerContext


CACHED_POST_LEN

protected static int CACHED_POST_LEN
Post data buffer.


postData

protected byte[] postData

parts

protected java.util.Map<java.lang.String,javax.servlet.http.Part> parts
Parts associated with the request.


parameterMap

protected ParameterMap parameterMap
Hash map used in the getParametersMap method.


session

protected Session session
The currently active session for this request.


requestDispatcherPath

protected java.lang.Object requestDispatcherPath
The current request dispatcher path.


requestedSessionCookie

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


requestedSessionId

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


requestedSessionURL

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


localesParsed

protected boolean localesParsed
Parse locales.


localPort

protected int localPort
Local port


remoteAddr

protected java.lang.String remoteAddr
Remote address.


remoteHost

protected java.lang.String remoteHost
Remote host.


remotePort

protected int remotePort
Remote port


localAddr

protected java.lang.String localAddr
Local address


localName

protected java.lang.String localName
Local address


canStartAsync

protected boolean canStartAsync
Can call startAsync.


connector

protected Connector connector
Associated Catalina connector.


context

protected Context context
Associated context.


filterChains

protected java.util.ArrayList<ApplicationFilterChain> filterChains
Filter chains associated with the request.


currentFilterChain

protected int currentFilterChain
Number of filter chains used.


info

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

See Also:
Constant Field Values

mappingData

protected MappingData mappingData
Mapping data.


facade

protected RequestFacade facade
The facade associated with this request.


response

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


URIConverter

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


wrapper

protected Wrapper wrapper
Associated wrapper.

Constructor Detail

Request

public Request()
Method Detail

setCoyoteRequest

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

Parameters:
coyoteRequest - The Coyote request

getCoyoteRequest

public Request getCoyoteRequest()
Get the Coyote request.


recycle

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


clearEncoders

public void clearEncoders()
Clear cached encoders (to save memory for event or async requests).


read

public int read()
         throws java.io.IOException
Read bytes into the low level buffer.

Throws:
java.io.IOException

isEof

public boolean isEof()
              throws java.io.IOException
Return true if the EOF has been reached.

Throws:
java.io.IOException

isReadable

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


getConnector

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


setConnector

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

Parameters:
connector - The new connector

getContext

public Context getContext()
Return the Context within which this Request is being processed.


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

getFilterChain

public ApplicationFilterChain getFilterChain()
Get filter chain associated with the request.


setFilterChain

public void setFilterChain(ApplicationFilterChain filterChain)
Set filter chain associated with the request.

Parameters:
filterChain - new filter chain

nextFilterChain

public void nextFilterChain()
Set filter chain associated with the request.

Parameters:
filterChain - new filter chain

releaseFilterChain

public void releaseFilterChain()
Set filter chain associated with the request.

Parameters:
filterChain - new filter chain

getHost

public Host getHost()
Return the Host within which this Request is being processed.


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

getInfo

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


getMappingData

public MappingData getMappingData()
Return mapping data.


getRequest

public javax.servlet.http.HttpServletRequest getRequest()
Return the ServletRequest for which this object is the facade. This method must be implemented by a subclass.


getRequestFacade

public javax.servlet.http.HttpServletRequest getRequestFacade()
Alias for AsyncContext inner class.


getResponse

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


setResponse

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

Parameters:
response - The new associated response

getResponseFacade

public javax.servlet.http.HttpServletResponse getResponseFacade()
Alias for AsyncContext inner class.


getStream

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


setStream

public void setStream(java.io.InputStream stream)
Set the input stream associated with this Request.

Parameters:
stream - The new input stream

getURIConverter

protected B2CConverter getURIConverter()
Return the URI converter.


setURIConverter

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

Parameters:
URIConverter - the new URI connverter

getWrapper

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


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

getCanStartAsync

public boolean getCanStartAsync()

setCanStartAsync

public void setCanStartAsync(boolean canStartAsync)

createInputStream

public javax.servlet.ServletInputStream createInputStream()
                                                   throws java.io.IOException
Create and return a ServletInputStream to read the content associated with this Request.

Throws:
java.io.IOException - if an input/output error occurs

finishRequest

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

Throws:
java.io.IOException - if an input/output error occurs

getNote

public java.lang.Object getNote(java.lang.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 java.util.Iterator getNoteNames()
Return an Iterator containing the String names of all notes bindings that exist for this request.


removeNote

public void removeNote(java.lang.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

setNote

public void setNote(java.lang.String name,
                    java.lang.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

setContentLength

public void setContentLength(int length)
Set the content length associated with this Request.

Parameters:
length - The new content length

setContentType

public void setContentType(java.lang.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

setProtocol

public void setProtocol(java.lang.String protocol)
Set the protocol name and version associated with this Request.

Parameters:
protocol - Protocol name and version

setRemoteAddr

public void setRemoteAddr(java.lang.String remoteAddr)
Set the IP address of the remote client associated with this Request.

Parameters:
remoteAddr - The remote IP address

setRemoteHost

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

Parameters:
remoteHost - The remote host name

setScheme

public void setScheme(java.lang.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(java.lang.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

getAttribute

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

Specified by:
getAttribute in interface javax.servlet.ServletRequest
Parameters:
name - Name of the request attribute to return
Returns:
an Object containing the value of the attribute, or null if the attribute does not exist

getAttributeNames

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

Specified by:
getAttributeNames in interface javax.servlet.ServletRequest
Returns:
an Enumeration of strings containing the names of the request's attributes

getCharacterEncoding

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

Specified by:
getCharacterEncoding in interface javax.servlet.ServletRequest
Returns:
a String containing the name of the character encoding, or null if the request does not specify a character encoding

getContentLength

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

Specified by:
getContentLength in interface javax.servlet.ServletRequest
Returns:
an integer containing the length of the request body or -1 if the length is not known

getContentType

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

Specified by:
getContentType in interface javax.servlet.ServletRequest
Returns:
a String containing the name of the MIME type of the request, or null if the type is not known

getInputStream

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

Specified by:
getInputStream in interface javax.servlet.ServletRequest
Returns:
a ServletInputStream object containing the body of the request
Throws:
java.lang.IllegalStateException - if getReader() has already been called for this request
java.io.IOException - if an input/output error occurs

getLocale

public java.util.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.

Specified by:
getLocale in interface javax.servlet.ServletRequest
Returns:
the preferred Locale for the client

getLocales

public java.util.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.

Specified by:
getLocales in interface javax.servlet.ServletRequest
Returns:
an Enumeration of preferred Locale objects for the client

getParameter

public java.lang.String getParameter(java.lang.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.

Specified by:
getParameter in interface javax.servlet.ServletRequest
Parameters:
name - Name of the desired request parameter
Returns:
a String representing the single value of the parameter
See Also:
ServletRequest.getParameterValues(java.lang.String)

getParameterMap

public java.util.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.

Specified by:
getParameterMap in interface javax.servlet.ServletRequest
Returns:
A Map containing parameter names as keys and parameter values as map values.

getParameterNames

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

Specified by:
getParameterNames in interface javax.servlet.ServletRequest
Returns:
an Enumeration of String objects, each String containing the name of a request parameter; or an empty Enumeration if the request has no parameters

getParameterValues

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

Specified by:
getParameterValues in interface javax.servlet.ServletRequest
Parameters:
name - Name of the desired request parameter
Returns:
an array of String objects containing the parameter's values
See Also:
ServletRequest.getParameter(java.lang.String)

getProtocol

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

Specified by:
getProtocol in interface javax.servlet.ServletRequest
Returns:
a String containing the protocol name and version number

getReader

public java.io.BufferedReader getReader()
                                 throws java.io.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().

Specified by:
getReader in interface javax.servlet.ServletRequest
Returns:
a BufferedReader containing the body of the request
Throws:
java.lang.IllegalStateException - if getInputStream() has already been called for this request
java.io.IOException - if an input/output error occurs
See Also:
ServletRequest.getInputStream()

getRealPath

public java.lang.String getRealPath(java.lang.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.

Specified by:
getRealPath in interface javax.servlet.ServletRequest
Parameters:
path - Path to be translated

getRemoteAddr

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

Specified by:
getRemoteAddr in interface javax.servlet.ServletRequest
Returns:
a String containing the IP address of the client that sent the request

getRemoteHost

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

Specified by:
getRemoteHost in interface javax.servlet.ServletRequest
Returns:
a String containing the fully qualified name of the client

getRemotePort

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

Specified by:
getRemotePort in interface javax.servlet.ServletRequest
Returns:
an integer specifying the port number

getLocalName

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

Specified by:
getLocalName in interface javax.servlet.ServletRequest
Returns:
a String containing the host name of the IP on which the request was received.

getLocalAddr

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

Specified by:
getLocalAddr in interface javax.servlet.ServletRequest
Returns:
a String containing the IP address 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.

Specified by:
getLocalPort in interface javax.servlet.ServletRequest
Returns:
an integer specifying the port number

getRequestDispatcher

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

Specified by:
getRequestDispatcher in interface javax.servlet.ServletRequest
Parameters:
path - Path of the resource to be wrapped
Returns:
a RequestDispatcher object that acts as a wrapper for the resource at the specified path, or null if the servlet container cannot return a RequestDispatcher
See Also:
RequestDispatcher, ServletContext.getRequestDispatcher(java.lang.String)

getScheme

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

Specified by:
getScheme in interface javax.servlet.ServletRequest
Returns:
a String containing the name of the scheme used to make this request

getServerName

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

Specified by:
getServerName in interface javax.servlet.ServletRequest
Returns:
a String containing the name of the server

getServerPort

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

Specified by:
getServerPort in interface javax.servlet.ServletRequest
Returns:
an integer specifying the port number

isSecure

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

Specified by:
isSecure in interface javax.servlet.ServletRequest
Returns:
a boolean indicating if the request was made using a secure channel

removeAttribute

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

Specified by:
removeAttribute in interface javax.servlet.ServletRequest
Parameters:
name - Name of the request attribute to remove

setAttribute

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

Specified by:
setAttribute in interface javax.servlet.ServletRequest
Parameters:
name - Name of the request attribute to set
value - The associated value

setCharacterEncoding

public void setCharacterEncoding(java.lang.String enc)
                          throws java.io.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().

Specified by:
setCharacterEncoding in interface javax.servlet.ServletRequest
Parameters:
enc - The character encoding to be used
Throws:
java.io.UnsupportedEncodingException - if the specified encoding is not supported
Since:
Servlet 2.3

addCookie

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

Parameters:
cookie - The new cookie

addHeader

public void addHeader(java.lang.String name,
                      java.lang.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(java.util.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(java.lang.String name,
                         java.lang.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(java.lang.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 mmoving 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.


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.


setAuthType

public void setAuthType(java.lang.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

setContextPath

public void setContextPath(java.lang.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

setMethod

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

Parameters:
method - The request method

setQueryString

public void setQueryString(java.lang.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

setPathInfo

public void setPathInfo(java.lang.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

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(java.lang.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(java.lang.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

setDecodedRequestURI

public void setDecodedRequestURI(java.lang.String uri)
Set the decoded request URI.

Parameters:
uri - The decoded request URI

getDecodedRequestURI

public java.lang.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

setServletPath

public void setServletPath(java.lang.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

setUserPrincipal

public void setUserPrincipal(java.security.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

getAuthType

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

Specified by:
getAuthType in interface javax.servlet.http.HttpServletRequest
Returns:
one of the static members BASIC_AUTH, FORM_AUTH, CLIENT_CERT_AUTH, DIGEST_AUTH (suitable for == comparison) or the container-specific string indicating the authentication scheme, or null if the request was not authenticated.

getContextPath

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

Specified by:
getContextPath in interface javax.servlet.http.HttpServletRequest
Returns:
a String specifying the portion of the request URI that indicates the context of the request
See Also:
ServletContext.getContextPath()

getContextPathMB

public MessageBytes getContextPathMB()
Get the context path.

Returns:
the context path

getCookies

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

Specified by:
getCookies in interface javax.servlet.http.HttpServletRequest
Returns:
an array of all the Cookies included with this request, or null if the request has no cookies

setCookies

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


getDateHeader

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

Specified by:
getDateHeader in interface javax.servlet.http.HttpServletRequest
Parameters:
name - Name of the requested date header
Returns:
a long value representing the date specified in the header expressed as the number of milliseconds since January 1, 1970 GMT, or -1 if the named header was not included with the request
Throws:
java.lang.IllegalArgumentException - if the specified header value cannot be converted to a date

getHeader

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

Specified by:
getHeader in interface javax.servlet.http.HttpServletRequest
Parameters:
name - Name of the requested header
Returns:
a String containing the value of the requested header, or null if the request does not have a header of that name

getHeaders

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

Specified by:
getHeaders in interface javax.servlet.http.HttpServletRequest
Parameters:
name - Name of the requested header
Returns:
an Enumeration containing the values of the requested header. If the request does not have any headers of that name return an empty enumeration. If the container does not allow access to header information, return null

getHeaderNames

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

Specified by:
getHeaderNames in interface javax.servlet.http.HttpServletRequest
Returns:
an enumeration of all the header names sent with this request; if the request has no headers, an empty enumeration; if the servlet container does not allow servlets to use this method, null

getIntHeader

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

Specified by:
getIntHeader in interface javax.servlet.http.HttpServletRequest
Parameters:
name - Name of the requested header
Returns:
an integer expressing the value of the request header or -1 if the request doesn't have a header of this name
Throws:
java.lang.IllegalArgumentException - if the specified header value cannot be converted to an integer

getMethod

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

Specified by:
getMethod in interface javax.servlet.http.HttpServletRequest
Returns:
a String specifying the name of the method with which this request was made

getPathInfo

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

Specified by:
getPathInfo in interface javax.servlet.http.HttpServletRequest
Returns:
a String, decoded by the web container, specifying extra path information that comes after the servlet path but before the query string in the request URL; or null if the URL does not have any extra path information

getPathInfoMB

public MessageBytes getPathInfoMB()
Get the path info.

Returns:
the path info

getPathTranslated

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

Specified by:
getPathTranslated in interface javax.servlet.http.HttpServletRequest
Returns:
a String specifying the real path, or null if the URL does not have any extra path information

getQueryString

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

Specified by:
getQueryString in interface javax.servlet.http.HttpServletRequest
Returns:
a String containing the query string or null if the URL contains no query string. The value is not decoded by the container.

getRemoteUser

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

Specified by:
getRemoteUser in interface javax.servlet.http.HttpServletRequest
Returns:
a String specifying the login of the user making this request, or null if the user login is not known

getRequestPathMB

public MessageBytes getRequestPathMB()
Get the request path.

Returns:
the request path

getRequestedSessionId

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

Specified by:
getRequestedSessionId in interface javax.servlet.http.HttpServletRequest
Returns:
a String specifying the session ID, or null if the request did not specify a session ID
See Also:
HttpServletRequest.isRequestedSessionIdValid()

getRequestURI

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

Specified by:
getRequestURI in interface javax.servlet.http.HttpServletRequest
Returns:
a String containing the part of the URL from the protocol name up to the query string
See Also:
HttpUtils.getRequestURL(javax.servlet.http.HttpServletRequest)

getRequestURL

public java.lang.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.

Specified by:
getRequestURL in interface javax.servlet.http.HttpServletRequest
Returns:
A StringBuffer object containing the reconstructed URL

getServletContext

public javax.servlet.ServletContext getServletContext()
Description copied from interface: javax.servlet.ServletRequest
Gets the servlet context to which this ServletRequest was last dispatched.

Specified by:
getServletContext in interface javax.servlet.ServletRequest
Returns:
the servlet context to which this ServletRequest was last dispatched

getServletContext0

public javax.servlet.ServletContext getServletContext0()

getServletPath

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

Specified by:
getServletPath in interface javax.servlet.http.HttpServletRequest
Returns:
a String containing the name or path of the servlet being called, as specified in the request URL, decoded, or an empty string if the servlet used to process the request is matched using the "/*" pattern.

getServletPathMB

public MessageBytes getServletPathMB()
Get the servlet path.

Returns:
the servlet path

getSession

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

Specified by:
getSession in interface javax.servlet.http.HttpServletRequest
Returns:
the HttpSession associated with this request
See Also:
HttpServletRequest.getSession(boolean)

getSession

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

Specified by:
getSession in interface javax.servlet.http.HttpServletRequest
Parameters:
create - Create a new session if one does not exist
Returns:
the HttpSession associated with this request or null if create is false and the request has no valid session
See Also:
HttpServletRequest.getSession()

isRequestedSessionIdFromCookie

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

Specified by:
isRequestedSessionIdFromCookie in interface javax.servlet.http.HttpServletRequest
Returns:
true if the session ID came in as a cookie; otherwise, false
See Also:
HttpServletRequest.getSession(boolean)

isRequestedSessionIdFromURL

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

Specified by:
isRequestedSessionIdFromURL in interface javax.servlet.http.HttpServletRequest
Returns:
true if the session ID came in as part of a URL; otherwise, false
See Also:
HttpServletRequest.getSession(boolean)

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.

Specified by:
isRequestedSessionIdFromUrl in interface javax.servlet.http.HttpServletRequest

isRequestedSessionIdValid

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

Specified by:
isRequestedSessionIdValid in interface javax.servlet.http.HttpServletRequest
Returns:
true if this request has an id for a valid session in the current session context; false otherwise
See Also:
HttpServletRequest.getRequestedSessionId(), HttpServletRequest.getSession(boolean), HttpSessionContext

isUserInRole

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

Specified by:
isUserInRole in interface javax.servlet.http.HttpServletRequest
Parameters:
role - Role name to be validated
Returns:
a boolean indicating whether the user making this request belongs to a given role; false if the user has not been authenticated

getPrincipal

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


getUserPrincipal

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

Specified by:
getUserPrincipal in interface javax.servlet.http.HttpServletRequest
Returns:
a java.security.Principal containing the name of the user making this request; null if the user has not been authenticated

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

getEvent

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

Returns:

isEventMode

public boolean isEventMode()
Return true if the current request is using event mode.


setEventMode

public void setEventMode(boolean eventMode)
Set event mode.


ready

public boolean ready()
Return true if bytes or chars are available.


setTimeout

public void setTimeout(int timeout)
Set connection timeout.


setTimeout0

public void setTimeout0(int timeout)

resume

public void resume()

suspend

public void suspend()

doGetSession

protected Session doGetSession(boolean create)

configureSessionCookie

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

Parameters:
cookie - The JSESSIONID cookie to be configured

unescape

protected java.lang.String unescape(java.lang.String s)

parseCookies

protected void parseCookies()
Parse cookies.


parseParameters

protected void parseParameters()
Parse request parameters.


readChunkedPostBody

protected byte[] readChunkedPostBody()
                              throws java.io.IOException
Read chunked post body.

Throws:
java.io.IOException

parseMultipart

protected void parseMultipart()
                       throws java.io.IOException,
                              javax.servlet.ServletException
Parse multipart.

Throws:
java.io.IOException
javax.servlet.ServletException

readPostBody

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

Throws:
java.io.IOException

parseLocales

protected void parseLocales()
Parse request locales.


parseLocalesHeader

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


isAlpha

protected static final boolean isAlpha(java.lang.String value)

getAsyncContext

public javax.servlet.AsyncContext getAsyncContext()
Description copied from interface: javax.servlet.ServletRequest
Gets the AsyncContext that was created or reinitialized by the most recent invocation of ServletRequest.startAsync() or ServletRequest.startAsync(ServletRequest,ServletResponse) on this request.

Specified by:
getAsyncContext in interface javax.servlet.ServletRequest
Returns:
the AsyncContext that was created or reinitialized by the most recent invocation of ServletRequest.startAsync() or ServletRequest.startAsync(ServletRequest,ServletResponse) on this request

isAsyncStarted

public boolean isAsyncStarted()
Description copied from interface: javax.servlet.ServletRequest
Checks if this request has been put into asynchronous mode.

A ServletRequest is put into asynchronous mode by calling ServletRequest.startAsync() or ServletRequest.startAsync(ServletRequest,ServletResponse) on it.

This method returns false if this request was put into asynchronous mode, but has since been dispatched using one of the AsyncContext.dispatch() methods or released from asynchronous mode via a call to AsyncContext.complete().

Specified by:
isAsyncStarted in interface javax.servlet.ServletRequest
Returns:
true if this request has been put into asynchronous mode, false otherwise

isAsyncSupported

public boolean isAsyncSupported()
Description copied from interface: javax.servlet.ServletRequest
Checks if this request supports asynchronous operation.

Asynchronous operation is disabled for this request if this request is within the scope of a filter or servlet that has not been annotated or flagged in the deployment descriptor as being able to support asynchronous handling.

Specified by:
isAsyncSupported in interface javax.servlet.ServletRequest
Returns:
true if this request supports asynchronous operation, false otherwise

startAsync

public javax.servlet.AsyncContext startAsync()
                                      throws java.lang.IllegalStateException
Description copied from interface: javax.servlet.ServletRequest
Puts this request into asynchronous mode, and initializes its AsyncContext with the original (unwrapped) ServletRequest and ServletResponse objects.

Calling this method will cause committal of the associated response to be delayed until AsyncContext.complete() is called on the returned AsyncContext, or the asynchronous operation has timed out.

Calling AsyncContext.hasOriginalRequestAndResponse() on the returned AsyncContext will return true. Any filters invoked in the outbound direction after this request was put into asynchronous mode may use this as an indication that any request and/or response wrappers that they added during their inbound invocation need not stay around for the duration of the asynchronous operation, and therefore any of their associated resources may be released.

This method clears the list of AsyncListener instances (if any) that were registered with the AsyncContext returned by the previous call to one of the startAsync methods, after calling each AsyncListener at its onStartAsync method.

Subsequent invocations of this method, or its overloaded variant, will return the same AsyncContext instance, reinitialized as appropriate.

Specified by:
startAsync in interface javax.servlet.ServletRequest
Returns:
the (re)initialized AsyncContext
Throws:
java.lang.IllegalStateException - if this request is within the scope of a filter or servlet that does not support asynchronous operations (that is, ServletRequest.isAsyncSupported() returns false), or if this method is called again without any asynchronous dispatch (resulting from one of the AsyncContext.dispatch() methods), is called outside the scope of any such dispatch, or is called again within the scope of the same dispatch, or if the response has already been closed

startAsync

public javax.servlet.AsyncContext startAsync(javax.servlet.ServletRequest servletRequest,
                                             javax.servlet.ServletResponse servletResponse)
                                      throws java.lang.IllegalStateException
Description copied from interface: javax.servlet.ServletRequest
Puts this request into asynchronous mode, and initializes its AsyncContext with the given request and response objects.

The ServletRequest and ServletResponse arguments must be the same instances, or instances of ServletRequestWrapper and ServletResponseWrapper that wrap them, that were passed to the service method of the Servlet or the doFilter method of the Filter, respectively, in whose scope this method is being called.

Calling this method will cause committal of the associated response to be delayed until AsyncContext.complete() is called on the returned AsyncContext, or the asynchronous operation has timed out.

Calling AsyncContext.hasOriginalRequestAndResponse() on the returned AsyncContext will return false, unless the passed in ServletRequest and ServletResponse arguments are the original ones or do not carry any application-provided wrappers. Any filters invoked in the outbound direction after this request was put into asynchronous mode may use this as an indication that some of the request and/or response wrappers that they added during their inbound invocation may need to stay in place for the duration of the asynchronous operation, and their associated resources may not be released. A ServletRequestWrapper applied during the inbound invocation of a filter may be released by the outbound invocation of the filter only if the given servletRequest, which is used to initialize the AsyncContext and will be returned by a call to AsyncContext.getRequest(), does not contain said ServletRequestWrapper. The same holds true for ServletResponseWrapper instances.

This method clears the list of AsyncListener instances (if any) that were registered with the AsyncContext returned by the previous call to one of the startAsync methods, after calling each AsyncListener at its onStartAsync method.

Subsequent invocations of this method, or its zero-argument variant, will return the same AsyncContext instance, reinitialized as appropriate. If a call to this method is followed by a call to its zero-argument variant, the specified (and possibly wrapped) request and response objects will remain locked in on the returned AsyncContext.

Specified by:
startAsync in interface javax.servlet.ServletRequest
Parameters:
servletRequest - the ServletRequest used to initialize the AsyncContext
servletResponse - the ServletResponse used to initialize the AsyncContext
Returns:
the (re)initialized AsyncContext
Throws:
java.lang.IllegalStateException - if this request is within the scope of a filter or servlet that does not support asynchronous operations (that is, ServletRequest.isAsyncSupported() returns false), or if this method is called again without any asynchronous dispatch (resulting from one of the AsyncContext.dispatch() methods), is called outside the scope of any such dispatch, or is called again within the scope of the same dispatch, or if the response has already been closed

authenticate

public boolean authenticate(javax.servlet.http.HttpServletResponse response)
                     throws java.io.IOException,
                            javax.servlet.ServletException
Description copied from interface: javax.servlet.http.HttpServletRequest
Use the container login mechanism configured for the ServletContext to authenticate the user making this request.

This method may modify and commit the argument HttpServletResponse.

Specified by:
authenticate in interface javax.servlet.http.HttpServletRequest
Parameters:
response - The HttpServletResponse associated with this HttpServletRequest
Returns:
true when non-null values were or have been established as the values returned by getUserPrincipal, getRemoteUser, and getAuthType. Return false if authentication is incomplete and the underlying login mechanism has committed, in the response, the message (e.g., challenge) and HTTP status code to be returned to the user.
Throws:
java.io.IOException - if an input or output error occurred while reading from this request or writing to the given response
javax.servlet.ServletException - if the authentication failed and the caller is responsible for handling the error (i.e., the underlying login mechanism did NOT establish the message and HTTP status code to be returned to the user)

login

public void login(java.lang.String username,
                  java.lang.String password)
           throws javax.servlet.ServletException
Description copied from interface: javax.servlet.http.HttpServletRequest
Validate the provided username and password in the password validation realm used by the web container login mechanism configured for the ServletContext.

This method returns without throwing a ServletException when the login mechanism configured for the ServletContext supports username password validation, and when, at the time of the call to login, the identity of the caller of the request had not been established (i.e, all of getUserPrincipal, getRemoteUser, and getAuthType return null), and when validation of the provided credentials is successful. Otherwise, this method throws a ServletException as described below.

When this method returns without throwing an exception, it must have established non-null values as the values returned by getUserPrincipal, getRemoteUser, and getAuthType.

Specified by:
login in interface javax.servlet.http.HttpServletRequest
Parameters:
username - The String value corresponding to the login identifier of the user.
password - The password String corresponding to the identified user.
Throws:
javax.servlet.ServletException - if the configured login mechanism does not support username password authentication, or if a non-null caller identity had already been established (prior to the call to login), or if validation of the provided username and password fails.

logout

public void logout()
            throws javax.servlet.ServletException
Description copied from interface: javax.servlet.http.HttpServletRequest
Establish null as the value returned when getUserPrincipal, getRemoteUser, and getAuthType is called on the request.

Specified by:
logout in interface javax.servlet.http.HttpServletRequest
Throws:
javax.servlet.ServletException - if logout fails

getDispatcherType

public javax.servlet.DispatcherType getDispatcherType()
Description copied from interface: javax.servlet.ServletRequest
Gets the dispatcher type of this request.

The dispatcher type of a request is used by the container to select the filters that need to be applied to the request: Only filters with matching dispatcher type and url patterns will be applied.

Allowing a filter that has been configured for multiple dispatcher types to query a request for its dispatcher type allows the filter to process the request differently depending on its dispatcher type.

The initial dispatcher type of a request is defined as DispatcherType.REQUEST. The dispatcher type of a request dispatched via RequestDispatcher.forward(ServletRequest, ServletResponse) or RequestDispatcher.include(ServletRequest, ServletResponse) is given as DispatcherType.FORWARD or DispatcherType.INCLUDE, respectively, while the dispatcher type of an asynchronous request dispatched via one of the AsyncContext.dispatch() methods is given as DispatcherType.ASYNC. Finally, the dispatcher type of a request dispatched to an error page by the container's error handling mechanism is given as DispatcherType.ERROR.

Specified by:
getDispatcherType in interface javax.servlet.ServletRequest
Returns:
the dispatcher type of this request
See Also:
DispatcherType

getPart

public javax.servlet.http.Part getPart(java.lang.String name)
                                throws java.io.IOException,
                                       javax.servlet.ServletException
Description copied from interface: javax.servlet.http.HttpServletRequest
Gets the Part with the given name.

Specified by:
getPart in interface javax.servlet.http.HttpServletRequest
Parameters:
name - the name of the requested Part
Returns:
The Part with the given name, or null if this request is of type multipart/form-data, but does not contain the requested Part
Throws:
java.io.IOException - if an I/O error occurred during the retrieval of the requested Part
javax.servlet.ServletException - if this request is not of type multipart/form-data
See Also:
MultipartConfig.maxFileSize(), MultipartConfig.maxRequestSize()

getParts

public java.util.Collection<javax.servlet.http.Part> getParts()
                                                       throws java.io.IOException,
                                                              javax.servlet.ServletException
Description copied from interface: javax.servlet.http.HttpServletRequest
Gets all the Part components of this request, provided that it is of type multipart/form-data.

If this request is of type multipart/form-data, but does not contain any Part components, the returned Collection will be empty.

Any changes to the returned Collection must not affect this HttpServletRequest.

Specified by:
getParts in interface javax.servlet.http.HttpServletRequest
Returns:
a (possibly empty) Collection of the Part components of this request
Throws:
java.io.IOException - if an I/O error occurred during the retrieval of the Part components of this request
javax.servlet.ServletException - if this request is not of type multipart/form-data
See Also:
MultipartConfig.maxFileSize(), MultipartConfig.maxRequestSize()

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object


Copyright © 2000-2009 Apache Software Foundation. All Rights Reserved.