## org.mortbay.jetty
Class Request

    java.lang.Object
      org.mortbay.jetty.Request

All Implemented Interfaces:
  HttpServletRequest, ServletRequest

Direct Known Subclasses:
  Ajp13Request

    public class Request

extends Object
implements HttpServletRequest

Jetty Request.

Implements `HttpServletRequest` from the `javax.servlet` 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 behaviour. For example

- The `getContextPath` method will return null, until the requeset has been passed to a `ContextHandler` which matches the `getPathInfo` with a context path and calls `setContextPath` as a result.
- the HTTP session methods will all return null sessions until such time as a request has been passed to a `SessionHandler` which checks for session cookies and enables the ability to create new sessions.
- The `getServletPath` method will return null until the request has been passed to a `ServletHandler` and the pathInfo matched against the servlet URL patterns and `setServletPath` called as a result.

A request instance is created for each `HttpConnection` 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.

Author:
  gregw

Field Summary

Fields inherited from interface javax.servlet.http.HttpServletRequest
`BASIC_AUTH, CLIENT_CERT_AUTH, DIGEST_AUTH, FORM_AUTH`

Constructor Summary
`Request()`
`Request(HttpConnection connection)`

Method Summary
`void` `addEventListener(EventListener listener)`
`Object` `getAttribute(String name)`
`Enumeration` `getAttributeNames()`
`Attributes` `getAttributes()`
`String` `getAuthType()`
`String` `getCharacterEncoding()`
`HttpConnection` `getConnection()`
`int` `getContentLength()`
`String` `getContentType()`
`ContextHandler.SContext` `getContext()`
`String` `getContextPath()`
`Continuation` `getContinuation()`
`Continuation` `getContinuation(boolean create)`
`Cookie[]` `getCookies()`
`long` `getDateHeader(String name)`
`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` `getParameters()`
`String[]` `getParameterValues(String name)`
`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()`
`Map` `getRoleMap()`
`StringBuffer` `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()`
`Principal` `getUserPrincipal()`
`UserRealm` `getUserRealm()`
`boolean` `isHandled()`
`boolean` `isRequestedSessionIdFromCookie()`
`boolean` `isRequestedSessionIdFromUrl()`
`boolean` `isRequestedSessionIdFromURL()`
`boolean` `isRequestedSessionIdValid()`
`boolean` `isSecure()`
`boolean` `isUserInRole(String role)`
`HttpSession` `recoverNewSession(Object key)`
`protected void` `recycle()`
`void` `removeAttribute(String name)`
`void` `removeEventListener(EventListener listener)`
`void` `saveNewSession(Object key, HttpSession session)`
`void` `setAttribute(String name, Object value)`
`void` `setAttributes(Attributes attributes)`
`void` `setAuthType(String authType)`
`void` `setCharacterEncoding(String encoding)`
`void` `setCharacterEncodingUnchecked(String encoding)`
`protected void` `setConnection(HttpConnection connection)`
`void` `setContentType(String contentType)`
`void` `setContext(ContextHandler.SContext context)`
`void` `setContextPath(String contextPath)` Sets the "context path" for this request
`void` `setCookies(Cookie[] cookies)`
`void` `setHandled(boolean h)`
`void` `setMethod(String method)`
`void` `setParameters(MultiMap 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` `setRoleMap(Map map)`
`void` `setScheme(String scheme)`
`void` `setServerName(String host)`
`void` `setServerPort(int port)`
`void` `setServletName(String name)`
`void` `setServletPath(String servletPath)`
`void` `setSession(HttpSession session)`
`void` `setSessionManager(SessionManager sessionManager)`
`void` `setTimeStamp(long ts)`
`void` `setUri(HttpURI uri)`
`void` `setUserPrincipal(Principal userPrincipal)`
`void` `setUserRealm(UserRealm userRealm)`
`String` `toString()`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Constructor Detail

### Request

    public Request()

### Request

    public Request(HttpConnection connection)

Method Detail

### setConnection

    protected void setConnection(HttpConnection connection)

### recycle

    protected void recycle()

### getTimeStampBuffer

    public Buffer getTimeStampBuffer()

  Get Request TimeStamp

  Returns:
    The time that the request was received.

### getTimeStamp

    public long getTimeStamp()

  Get Request TimeStamp

  Returns:
    The time that the request was received.

### setTimeStamp

    public void setTimeStamp(long ts)

### isHandled

    public boolean isHandled()

### setHandled

    public void setHandled(boolean h)

### getAttribute

    public Object getAttribute(String name)

  Specified by:
    `getAttribute` in interface `ServletRequest`

### getAttributeNames

    public Enumeration getAttributeNames()

  Specified by:
    `getAttributeNames` in interface `ServletRequest`

### getAuthType

    public String getAuthType()

  Specified by:
    `getAuthType` in interface `HttpServletRequest`

### getCharacterEncoding

    public String getCharacterEncoding()

  Specified by:
    `getCharacterEncoding` in interface `ServletRequest`

### getContentLength

    public int getContentLength()

  Specified by:
    `getContentLength` in interface `ServletRequest`

### getContentType

    public String getContentType()

  Specified by:
    `getContentType` in interface `ServletRequest`

### setContentType

    public void setContentType(String contentType)

### 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`

### 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`

### 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`

### 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`

### 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`

### 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`

### getServletPath

    public String getServletPath()

  Specified by:
    `getServletPath` in interface `HttpServletRequest`

### getServletName

    public String getServletName()

### getSession

    public HttpSession getSession()

  Specified by:
    `getSession` in interface `HttpServletRequest`

### getSession

    public HttpSession getSession(boolean create)

  Specified by:
    `getSession` in interface `HttpServletRequest`

### getUserPrincipal

    public Principal getUserPrincipal()

  Specified by:
    `getUserPrincipal` in interface `HttpServletRequest`

### getQueryString

    public String getQueryString()

  Specified by:
    `getQueryString` in interface `HttpServletRequest`

### 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`

### removeAttribute

    public void removeAttribute(String name)

  Specified by:
    `removeAttribute` in interface `ServletRequest`

### setAttribute

    public void setAttribute(String name,
                             Object value)

  Specified by:
    `setAttribute` in interface `ServletRequest`

### setCharacterEncoding

    public void setCharacterEncoding(String encoding)
                              throws UnsupportedEncodingException

  Specified by:
    `setCharacterEncoding` in interface `ServletRequest`
  Throws:
    `UnsupportedEncodingException`

### setCharacterEncodingUnchecked

    public void setCharacterEncodingUnchecked(String encoding)

### setServerName

    public void setServerName(String host)

  Parameters:
    `host` - The host to set.

### setServerPort

    public void setServerPort(int port)

  Parameters:
    `port` - The port 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.

### getUri

    public HttpURI getUri()

  Returns:
    Returns the uri.

### setUri

    public void setUri(HttpURI uri)

  Parameters:
    `uri` - The uri to set.

### getConnection

    public HttpConnection getConnection()

  Returns:
    Returns the connection.

### getInputState

    public int getInputState()

  Returns:
    Returns the inputState.

### setAuthType

    public void setAuthType(String authType)

  Parameters:
    `authType` - The authType to set.

### setCookies

    public void setCookies(Cookie[] cookies)

  Parameters:
    `cookies` - The cookies to set.

### setMethod

    public void setMethod(String method)

  Parameters:
    `method` - The method 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.

### setRequestedSessionId

    public void setRequestedSessionId(String requestedSessionId)

  Parameters:
    `requestedSessionId` - The requestedSessionId to set.

### getSessionManager

    public SessionManager getSessionManager()

  Returns:
    Returns the sessionManager.

### setSessionManager

    public void setSessionManager(SessionManager sessionManager)

  Parameters:
    `sessionManager` - The sessionManager to set.

### setRequestedSessionIdFromCookie

    public void setRequestedSessionIdFromCookie(boolean requestedSessionIdCookie)

  Parameters:
    `requestedSessionIdCookie` - The requestedSessionIdCookie to set.

### setSession

    public void setSession(HttpSession session)

  Parameters:
    `session` - The session to set.

### setScheme

    public void setScheme(String scheme)

  Parameters:
    `scheme` - The scheme to set.

### setQueryString

    public void setQueryString(String queryString)

  Parameters:
    `queryString` - The queryString to set.

### setRequestURI

    public void setRequestURI(String requestURI)

  Parameters:
    `requestURI` - The requestURI to set.

### setContextPath

    public void setContextPath(String contextPath)

  Sets the "context path" for this request

  See Also:
    `HttpServletRequest.getContextPath()`

### setServletPath

    public void setServletPath(String servletPath)

  Parameters:
    `servletPath` - The servletPath to set.

### setServletName

    public void setServletName(String name)

  Parameters:
    `name` - The servletName to set.

### setUserPrincipal

    public void setUserPrincipal(Principal userPrincipal)

  Parameters:
    `userPrincipal` - The userPrincipal to set.

### setContext

    public void setContext(ContextHandler.SContext context)

  Parameters:
    `context` -

### getContext

    public ContextHandler.SContext getContext()

  Returns:
    The current `context` used for this request, or `null` if `setContext(org.mortbay.jetty.handler.ContextHandler.SContext)` has not yet been called.

### getRootURL

    public StringBuffer 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"

### getAttributes

    public Attributes getAttributes()

### setAttributes

    public void setAttributes(Attributes attributes)

### getContinuation

    public Continuation getContinuation()

### getContinuation

    public Continuation getContinuation(boolean create)

### getParameters

    public MultiMap getParameters()

  Returns:
    Returns the parameters.

### setParameters

    public void setParameters(MultiMap parameters)

  Parameters:
    `parameters` - The parameters to set.

### toString

    public String toString()

  Overrides:
    `toString` in class `Object`

### getRequest

    public static Request getRequest(HttpServletRequest request)

### addEventListener

    public void addEventListener(EventListener listener)

### removeEventListener

    public void removeEventListener(EventListener listener)

### saveNewSession

    public void saveNewSession(Object key,
                               HttpSession session)

### recoverNewSession

    public HttpSession recoverNewSession(Object key)

### getUserRealm

    public UserRealm getUserRealm()

  Returns:
    Returns the userRealm.

### setUserRealm

    public void setUserRealm(UserRealm userRealm)

  Parameters:
    `userRealm` - The userRealm to set.

### getQueryEncoding

    public String getQueryEncoding()

### 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.mortbay.jetty.Request.queryEncoding" may be set as an alternate method of calling setQueryEncoding.

  Parameters:
    `queryEncoding` -

### setRoleMap

    public void setRoleMap(Map map)

### getRoleMap

    public Map getRoleMap()

### getServletContext

    public ServletContext getServletContext()

### getServletResponse

    public ServletResponse getServletResponse()

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