org.eclipse.jetty.server
Class Request

java.lang.Object
  extended by org.eclipse.jetty.server.Request
All Implemented Interfaces:
HttpServletRequest, ServletRequest
Direct Known Subclasses:
Ajp13Request, NestedRequest

public class Request
extends Object
implements HttpServletRequest

Jetty Request.

Implements HttpServletRequest from the javax.servlet.http package.

The standard interface of mostly getters, is extended with setters so that the request is mutable by the handlers that it is passed to. This allows the request object to be as lightweight as possible and not actually implement any significant behavior. For example

A request instance is created for each AbstractHttpConnection accepted by the server and recycled for each HTTP request received via that connection. An effort is made to avoid reparsing headers and cookies that are likely to be the same for requests from the same connection.

The form content that a request can process is limited to protect from Denial of Service attacks. The size in bytes is limited by ContextHandler.getMaxFormContentSize() or if there is no context then the "org.eclipse.jetty.server.Request.maxFormContentSize" Server attribute. The number of parameters keys is limited by ContextHandler.getMaxFormKeys() or if there is no context then the "org.eclipse.jetty.server.Request.maxFormKeys" Server attribute.


Field Summary
static String __MULTIPART_CONFIG_ELEMENT
           
protected  AsyncContinuation _async
           
protected  AbstractHttpConnection _connection
           
 
Fields inherited from interface javax.servlet.http.HttpServletRequest
BASIC_AUTH, CLIENT_CERT_AUTH, DIGEST_AUTH, FORM_AUTH
 
Constructor Summary
Request()
           
Request(AbstractHttpConnection connection)
           
 
Method Summary
 void addEventListener(EventListener listener)
           
 boolean authenticate(HttpServletResponse response)
           
 void extractParameters()
          Extract Parameters from query string and/or form _content.
 AsyncContext getAsyncContext()
           
 AsyncContinuation getAsyncContinuation()
           
 Object getAttribute(String name)
           
 Enumeration getAttributeNames()
           
 Attributes getAttributes()
           
 Authentication getAuthentication()
          Get the authentication.
 String getAuthType()
           
 String getCharacterEncoding()
           
 AbstractHttpConnection getConnection()
           
 int getContentLength()
           
 long getContentRead()
           
 String getContentType()
           
 ContextHandler.Context getContext()
           
 String getContextPath()
           
 Cookie[] getCookies()
           
 long getDateHeader(String name)
           
 DispatcherType getDispatcherType()
           
 long getDispatchTime()
          Get timestamp of the request dispatch
 String getHeader(String name)
           
 Enumeration getHeaderNames()
           
 Enumeration getHeaders(String name)
           
 int getInputState()
           
 ServletInputStream getInputStream()
           
 int getIntHeader(String name)
           
 String getLocalAddr()
           
 Locale getLocale()
           
 Enumeration getLocales()
           
 String getLocalName()
           
 int getLocalPort()
           
 String getMethod()
           
 String getParameter(String name)
           
 Map getParameterMap()
           
 Enumeration getParameterNames()
           
 MultiMap<String> getParameters()
           
 String[] getParameterValues(String name)
           
 Part getPart(String name)
           
 Collection<Part> getParts()
           
 String getPathInfo()
           
 String getPathTranslated()
           
 String getProtocol()
           
 String getQueryEncoding()
           
 String getQueryString()
           
 BufferedReader getReader()
           
 String getRealPath(String path)
           
 String getRemoteAddr()
           
 String getRemoteHost()
           
 int getRemotePort()
           
 String getRemoteUser()
           
static Request getRequest(HttpServletRequest request)
           
 RequestDispatcher getRequestDispatcher(String path)
           
 String getRequestedSessionId()
           
 String getRequestURI()
           
 StringBuffer getRequestURL()
           
 UserIdentity getResolvedUserIdentity()
           
 Response getResponse()
           
 StringBuilder getRootURL()
          Reconstructs the URL the client used to make the request.
 String getScheme()
           
 String getServerName()
           
 int getServerPort()
           
 ServletContext getServletContext()
           
 String getServletName()
           
 String getServletPath()
           
 ServletResponse getServletResponse()
           
 HttpSession getSession()
           
 HttpSession getSession(boolean create)
           
 SessionManager getSessionManager()
           
 long getTimeStamp()
          Get Request TimeStamp
 Buffer getTimeStampBuffer()
          Get Request TimeStamp
 HttpURI getUri()
           
 UserIdentity getUserIdentity()
           
 UserIdentity.Scope getUserIdentityScope()
           
 Principal getUserPrincipal()
           
 boolean isAsyncStarted()
           
 boolean isAsyncSupported()
           
 boolean isHandled()
           
 boolean isRequestedSessionIdFromCookie()
           
 boolean isRequestedSessionIdFromUrl()
           
 boolean isRequestedSessionIdFromURL()
           
 boolean isRequestedSessionIdValid()
           
 boolean isSecure()
           
 boolean isUserInRole(String role)
           
 void login(String username, String password)
           
 void logout()
           
 void mergeQueryString(String query)
          Merge in a new query string.
 HttpSession recoverNewSession(Object key)
           
protected  void recycle()
           
 void removeAttribute(String name)
           
 void removeEventListener(EventListener listener)
           
 void saveNewSession(Object key, HttpSession session)
           
 void setAsyncSupported(boolean supported)
           
 void setAttribute(String name, Object value)
           
 void setAttributes(Attributes attributes)
           
 void setAuthentication(Authentication authentication)
          Set the authentication.
 void setCharacterEncoding(String encoding)
           
 void setCharacterEncodingUnchecked(String encoding)
           
protected  void setConnection(AbstractHttpConnection connection)
           
 void setContentType(String contentType)
           
 void setContext(ContextHandler.Context context)
          Set request context
 void setContextPath(String contextPath)
          Sets the "context path" for this request
 void setCookies(Cookie[] cookies)
           
 void setDispatcherType(DispatcherType type)
           
 void setDispatchTime(long value)
          Set timetstamp of request dispatch
 void setHandled(boolean h)
           
 void setMethod(String method)
           
 void setParameters(MultiMap<String> parameters)
           
 void setPathInfo(String pathInfo)
           
 void setProtocol(String protocol)
           
 void setQueryEncoding(String queryEncoding)
          Set the character encoding used for the query string.
 void setQueryString(String queryString)
           
 void setRemoteAddr(String addr)
           
 void setRemoteHost(String host)
           
 void setRequestedSessionId(String requestedSessionId)
           
 void setRequestedSessionIdFromCookie(boolean requestedSessionIdCookie)
           
 void setRequestURI(String requestURI)
           
 void setScheme(String scheme)
           
 void setServerName(String host)
           
 void setServerPort(int port)
           
 void setServletPath(String servletPath)
           
 void setSession(HttpSession session)
           
 void setSessionManager(SessionManager sessionManager)
           
 void setTimeStamp(long ts)
           
 void setUri(HttpURI uri)
           
 void setUserIdentityScope(UserIdentity.Scope scope)
           
 AsyncContext startAsync()
           
 AsyncContext startAsync(ServletRequest servletRequest, ServletResponse servletResponse)
           
 boolean takeNewContext()
           
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

__MULTIPART_CONFIG_ELEMENT

public static final String __MULTIPART_CONFIG_ELEMENT
See Also:
Constant Field Values

_async

protected final AsyncContinuation _async

_connection

protected AbstractHttpConnection _connection
Constructor Detail

Request

public Request()

Request

public Request(AbstractHttpConnection connection)
Method Detail

getRequest

public static Request getRequest(HttpServletRequest request)

addEventListener

public void addEventListener(EventListener listener)

extractParameters

public void extractParameters()
Extract Parameters from query string and/or form _content.


getAsyncContext

public AsyncContext getAsyncContext()
Specified by:
getAsyncContext in interface ServletRequest

getAsyncContinuation

public AsyncContinuation getAsyncContinuation()

getAttribute

public Object getAttribute(String name)
Specified by:
getAttribute in interface ServletRequest

getAttributeNames

public Enumeration getAttributeNames()
Specified by:
getAttributeNames in interface ServletRequest

getAttributes

public Attributes getAttributes()

getAuthentication

public Authentication getAuthentication()
Get the authentication.

Returns:
the authentication

getAuthType

public String getAuthType()
Specified by:
getAuthType in interface HttpServletRequest

getCharacterEncoding

public String getCharacterEncoding()
Specified by:
getCharacterEncoding in interface ServletRequest

getConnection

public AbstractHttpConnection getConnection()
Returns:
Returns the connection.

getContentLength

public int getContentLength()
Specified by:
getContentLength in interface ServletRequest

getContentRead

public long getContentRead()

getContentType

public String getContentType()
Specified by:
getContentType in interface ServletRequest

getContext

public ContextHandler.Context getContext()
Returns:
The current context used for this request, or null if setContext(org.eclipse.jetty.server.handler.ContextHandler.Context) has not yet been called.

getContextPath

public String getContextPath()
Specified by:
getContextPath in interface HttpServletRequest

getCookies

public Cookie[] getCookies()
Specified by:
getCookies in interface HttpServletRequest

getDateHeader

public long getDateHeader(String name)
Specified by:
getDateHeader in interface HttpServletRequest

getDispatcherType

public DispatcherType getDispatcherType()
Specified by:
getDispatcherType in interface ServletRequest

getHeader

public String getHeader(String name)
Specified by:
getHeader in interface HttpServletRequest

getHeaderNames

public Enumeration getHeaderNames()
Specified by:
getHeaderNames in interface HttpServletRequest

getHeaders

public Enumeration getHeaders(String name)
Specified by:
getHeaders in interface HttpServletRequest

getInputState

public int getInputState()
Returns:
Returns the inputState.

getInputStream

public ServletInputStream getInputStream()
                                  throws IOException
Specified by:
getInputStream in interface ServletRequest
Throws:
IOException

getIntHeader

public int getIntHeader(String name)
Specified by:
getIntHeader in interface HttpServletRequest

getLocalAddr

public String getLocalAddr()
Specified by:
getLocalAddr in interface ServletRequest

getLocale

public Locale getLocale()
Specified by:
getLocale in interface ServletRequest

getLocales

public Enumeration getLocales()
Specified by:
getLocales in interface ServletRequest

getLocalName

public String getLocalName()
Specified by:
getLocalName in interface ServletRequest

getLocalPort

public int getLocalPort()
Specified by:
getLocalPort in interface ServletRequest

getMethod

public String getMethod()
Specified by:
getMethod in interface HttpServletRequest

getParameter

public String getParameter(String name)
Specified by:
getParameter in interface ServletRequest

getParameterMap

public Map getParameterMap()
Specified by:
getParameterMap in interface ServletRequest

getParameterNames

public Enumeration getParameterNames()
Specified by:
getParameterNames in interface ServletRequest

getParameters

public MultiMap<String> getParameters()
Returns:
Returns the parameters.

getParameterValues

public String[] getParameterValues(String name)
Specified by:
getParameterValues in interface ServletRequest

getPathInfo

public String getPathInfo()
Specified by:
getPathInfo in interface HttpServletRequest

getPathTranslated

public String getPathTranslated()
Specified by:
getPathTranslated in interface HttpServletRequest

getProtocol

public String getProtocol()
Specified by:
getProtocol in interface ServletRequest

getQueryEncoding

public String getQueryEncoding()

getQueryString

public String getQueryString()
Specified by:
getQueryString in interface HttpServletRequest

getReader

public BufferedReader getReader()
                         throws IOException
Specified by:
getReader in interface ServletRequest
Throws:
IOException

getRealPath

public String getRealPath(String path)
Specified by:
getRealPath in interface ServletRequest

getRemoteAddr

public String getRemoteAddr()
Specified by:
getRemoteAddr in interface ServletRequest

getRemoteHost

public String getRemoteHost()
Specified by:
getRemoteHost in interface ServletRequest

getRemotePort

public int getRemotePort()
Specified by:
getRemotePort in interface ServletRequest

getRemoteUser

public String getRemoteUser()
Specified by:
getRemoteUser in interface HttpServletRequest

getRequestDispatcher

public RequestDispatcher getRequestDispatcher(String path)
Specified by:
getRequestDispatcher in interface ServletRequest

getRequestedSessionId

public String getRequestedSessionId()
Specified by:
getRequestedSessionId in interface HttpServletRequest

getRequestURI

public String getRequestURI()
Specified by:
getRequestURI in interface HttpServletRequest

getRequestURL

public StringBuffer getRequestURL()
Specified by:
getRequestURL in interface HttpServletRequest

getResponse

public Response getResponse()

getRootURL

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

Because this method returns a StringBuffer, not a string, you can modify the URL easily, for example, to append path and query parameters. This method is useful for creating redirect messages and for reporting errors.

Returns:
"scheme://host:port"

getScheme

public String getScheme()
Specified by:
getScheme in interface ServletRequest

getServerName

public String getServerName()
Specified by:
getServerName in interface ServletRequest

getServerPort

public int getServerPort()
Specified by:
getServerPort in interface ServletRequest

getServletContext

public ServletContext getServletContext()
Specified by:
getServletContext in interface ServletRequest

getServletName

public String getServletName()

getServletPath

public String getServletPath()
Specified by:
getServletPath in interface HttpServletRequest

getServletResponse

public ServletResponse getServletResponse()

getSession

public HttpSession getSession()
Specified by:
getSession in interface HttpServletRequest

getSession

public HttpSession getSession(boolean create)
Specified by:
getSession in interface HttpServletRequest

getSessionManager

public SessionManager getSessionManager()
Returns:
Returns the sessionManager.

getTimeStamp

public long getTimeStamp()
Get Request TimeStamp

Returns:
The time that the request was received.

getTimeStampBuffer

public Buffer getTimeStampBuffer()
Get Request TimeStamp

Returns:
The time that the request was received.

getUri

public HttpURI getUri()
Returns:
Returns the uri.

getUserIdentity

public UserIdentity getUserIdentity()

getResolvedUserIdentity

public UserIdentity getResolvedUserIdentity()
Returns:
The resolved user Identity, which may be null if the Authentication is not Authentication.User (eg. Authentication.Deferred).

getUserIdentityScope

public UserIdentity.Scope getUserIdentityScope()

getUserPrincipal

public Principal getUserPrincipal()
Specified by:
getUserPrincipal in interface HttpServletRequest

getDispatchTime

public long getDispatchTime()
Get timestamp of the request dispatch

Returns:
timestamp

isHandled

public boolean isHandled()

isAsyncStarted

public boolean isAsyncStarted()
Specified by:
isAsyncStarted in interface ServletRequest

isAsyncSupported

public boolean isAsyncSupported()
Specified by:
isAsyncSupported in interface ServletRequest

isRequestedSessionIdFromCookie

public boolean isRequestedSessionIdFromCookie()
Specified by:
isRequestedSessionIdFromCookie in interface HttpServletRequest

isRequestedSessionIdFromUrl

public boolean isRequestedSessionIdFromUrl()
Specified by:
isRequestedSessionIdFromUrl in interface HttpServletRequest

isRequestedSessionIdFromURL

public boolean isRequestedSessionIdFromURL()
Specified by:
isRequestedSessionIdFromURL in interface HttpServletRequest

isRequestedSessionIdValid

public boolean isRequestedSessionIdValid()
Specified by:
isRequestedSessionIdValid in interface HttpServletRequest

isSecure

public boolean isSecure()
Specified by:
isSecure in interface ServletRequest

isUserInRole

public boolean isUserInRole(String role)
Specified by:
isUserInRole in interface HttpServletRequest

recoverNewSession

public HttpSession recoverNewSession(Object key)

recycle

protected void recycle()

removeAttribute

public void removeAttribute(String name)
Specified by:
removeAttribute in interface ServletRequest

removeEventListener

public void removeEventListener(EventListener listener)

saveNewSession

public void saveNewSession(Object key,
                           HttpSession session)

setAsyncSupported

public void setAsyncSupported(boolean supported)

setAttribute

public void setAttribute(String name,
                         Object value)
Specified by:
setAttribute in interface ServletRequest

setAttributes

public void setAttributes(Attributes attributes)

setAuthentication

public void setAuthentication(Authentication authentication)
Set the authentication.

Parameters:
authentication - the authentication to set

setCharacterEncoding

public void setCharacterEncoding(String encoding)
                          throws UnsupportedEncodingException
Specified by:
setCharacterEncoding in interface ServletRequest
Throws:
UnsupportedEncodingException

setCharacterEncodingUnchecked

public void setCharacterEncodingUnchecked(String encoding)

setConnection

protected final void setConnection(AbstractHttpConnection connection)

setContentType

public void setContentType(String contentType)

setContext

public void setContext(ContextHandler.Context context)
Set request context

Parameters:
context - context object

takeNewContext

public boolean takeNewContext()
Returns:
True if this is the first call of takeNewContext() since the last setContext(org.eclipse.jetty.server.handler.ContextHandler.Context) call.

setContextPath

public void setContextPath(String contextPath)
Sets the "context path" for this request

See Also:
HttpServletRequest.getContextPath()

setCookies

public void setCookies(Cookie[] cookies)
Parameters:
cookies - The cookies to set.

setDispatcherType

public void setDispatcherType(DispatcherType type)

setHandled

public void setHandled(boolean h)

setMethod

public void setMethod(String method)
Parameters:
method - The method to set.

setParameters

public void setParameters(MultiMap<String> parameters)
Parameters:
parameters - The parameters to set.

setPathInfo

public void setPathInfo(String pathInfo)
Parameters:
pathInfo - The pathInfo to set.

setProtocol

public void setProtocol(String protocol)
Parameters:
protocol - The protocol to set.

setQueryEncoding

public void setQueryEncoding(String queryEncoding)
Set the character encoding used for the query string. This call will effect the return of getQueryString and getParamaters. It must be called before any geParameter methods. The request attribute "org.eclipse.jetty.server.server.Request.queryEncoding" may be set as an alternate method of calling setQueryEncoding.

Parameters:
queryEncoding -

setQueryString

public void setQueryString(String queryString)
Parameters:
queryString - The queryString to set.

setRemoteAddr

public void setRemoteAddr(String addr)
Parameters:
addr - The address to set.

setRemoteHost

public void setRemoteHost(String host)
Parameters:
host - The host to set.

setRequestedSessionId

public void setRequestedSessionId(String requestedSessionId)
Parameters:
requestedSessionId - The requestedSessionId to set.

setRequestedSessionIdFromCookie

public void setRequestedSessionIdFromCookie(boolean requestedSessionIdCookie)
Parameters:
requestedSessionIdCookie - The requestedSessionIdCookie to set.

setRequestURI

public void setRequestURI(String requestURI)
Parameters:
requestURI - The requestURI to set.

setScheme

public void setScheme(String scheme)
Parameters:
scheme - The scheme to set.

setServerName

public void setServerName(String host)
Parameters:
host - The host to set.

setServerPort

public void setServerPort(int port)
Parameters:
port - The port to set.

setServletPath

public void setServletPath(String servletPath)
Parameters:
servletPath - The servletPath to set.

setSession

public void setSession(HttpSession session)
Parameters:
session - The session to set.

setSessionManager

public void setSessionManager(SessionManager sessionManager)
Parameters:
sessionManager - The sessionManager to set.

setTimeStamp

public void setTimeStamp(long ts)

setUri

public void setUri(HttpURI uri)
Parameters:
uri - The uri to set.

setUserIdentityScope

public void setUserIdentityScope(UserIdentity.Scope scope)

setDispatchTime

public void setDispatchTime(long value)
Set timetstamp of request dispatch

Parameters:
value - timestamp

startAsync

public AsyncContext startAsync()
                        throws IllegalStateException
Specified by:
startAsync in interface ServletRequest
Throws:
IllegalStateException

startAsync

public AsyncContext startAsync(ServletRequest servletRequest,
                               ServletResponse servletResponse)
                        throws IllegalStateException
Specified by:
startAsync in interface ServletRequest
Throws:
IllegalStateException

toString

public String toString()
Overrides:
toString in class Object

authenticate

public boolean authenticate(HttpServletResponse response)
                     throws IOException,
                            ServletException
Specified by:
authenticate in interface HttpServletRequest
Throws:
IOException
ServletException

getPart

public Part getPart(String name)
             throws IOException,
                    ServletException
Specified by:
getPart in interface HttpServletRequest
Throws:
IOException
ServletException

getParts

public Collection<Part> getParts()
                          throws IOException,
                                 ServletException
Specified by:
getParts in interface HttpServletRequest
Throws:
IOException
ServletException

login

public void login(String username,
                  String password)
           throws ServletException
Specified by:
login in interface HttpServletRequest
Throws:
ServletException

logout

public void logout()
            throws ServletException
Specified by:
logout in interface HttpServletRequest
Throws:
ServletException

mergeQueryString

public void mergeQueryString(String query)
Merge in a new query string. The query string is merged with the existing parameters and setParameters(MultiMap) and setQueryString(String) are called with the result. The merge is according to the rules of the servlet dispatch forward method.

Parameters:
query - The query string to merge into the request.


Copyright © 1995-2012 Mort Bay Consulting. All Rights Reserved.