winstone
Class WinstoneRequest

java.lang.Object
  extended by winstone.WinstoneRequest
All Implemented Interfaces:
HttpServletRequest, ServletRequest

public class WinstoneRequest
extends java.lang.Object
implements HttpServletRequest

Implements the request interface required by the servlet spec.

Version:
$Id: WinstoneRequest.java,v 1.38 2007/10/28 16:29:02 rickknowles Exp $
Author:
Rick Knowles

Field Summary
protected  java.util.Map attributes
           
protected  java.util.Stack attributesStack
           
protected  AuthenticationPrincipal authenticatedUser
           
protected  java.lang.String authorization
           
protected  int contentLength
           
protected  java.lang.String contentType
           
protected  Cookie[] cookies
           
protected  java.util.Map currentSessionIds
           
protected  java.lang.String deadRequestedSessionId
           
protected  java.lang.String encoding
           
protected static java.text.DateFormat headerDF
           
protected  java.lang.String[] headers
           
protected  HostGroup hostGroup
           
protected  WinstoneInputStream inputData
           
protected  java.io.BufferedReader inputReader
           
protected  boolean isSecure
           
protected  java.lang.String localAddr
           
protected  java.util.List locales
           
protected  java.lang.String localName
           
protected  int localPort
           
protected  java.lang.String method
           
protected  java.util.Map parameters
           
protected  java.util.Stack parametersStack
           
protected  java.lang.Boolean parsedParameters
          If true, it indicates that the request body was already consumed because of the call to getParameterMap() (or its sibling), which requires implicit form parameter parsing.
protected  java.lang.String pathInfo
           
protected  java.lang.String protocol
           
protected  java.lang.String queryString
           
protected  java.lang.String remoteIP
           
protected  java.lang.String remoteName
           
protected  int remotePort
           
protected  ServletRequestAttributeListener[] requestAttributeListeners
           
protected  java.util.Map requestedSessionIds
           
protected  ServletRequestListener[] requestListeners
           
protected  java.lang.String requestURI
           
protected static java.util.Random rnd
           
protected  java.lang.String scheme
           
protected  java.lang.String serverName
           
protected  int serverPort
           
protected  ServletConfiguration servletConfig
           
protected  java.lang.String servletPath
           
protected  WebAppConfiguration webappConfig
           
 
Fields inherited from interface javax.servlet.http.HttpServletRequest
BASIC_AUTH, CLIENT_CERT_AUTH, DIGEST_AUTH, FORM_AUTH
 
Constructor Summary
WinstoneRequest()
          InputStream factory method.
 
Method Summary
 void addIncludeAttributes(java.lang.String requestURI, java.lang.String contextPath, java.lang.String servletPath, java.lang.String pathInfo, java.lang.String queryString)
           
 void addIncludeQueryParameters(java.lang.String queryString)
           
 void cleanUp()
          Resets the request to be reused
 void clearIncludeStackForForward()
           
static java.lang.String decodeURLToken(java.lang.String in)
           
static java.lang.String decodeURLToken(java.lang.String in, boolean isQueryString)
           
static java.lang.String decodeURLToken(java.lang.String in, java.lang.String encoding)
          For decoding the URL encoding used on query strings
static java.lang.String decodeURLToken(java.lang.String in, java.lang.String encoding, boolean isQueryString)
           
 void discardRequestBody()
           
static void extractParameters(java.lang.String urlEncodedParams, java.lang.String encoding, java.util.Map outputParams, boolean overwrite)
          Gets parameters from the url encoded parameter string
 java.lang.Object getAttribute(java.lang.String name)
           
 java.util.Enumeration getAttributeNames()
           
 java.util.Map getAttributes()
           
 java.util.Stack getAttributesStack()
           
 java.lang.String getAuthType()
           
 java.lang.String getCharacterEncoding()
           
 int getContentLength()
           
 java.lang.String getContentType()
           
 java.lang.String getContextPath()
           
 Cookie[] getCookies()
           
 java.util.Map getCurrentSessionIds()
           
 long getDateHeader(java.lang.String name)
           
 java.lang.String getDeadRequestedSessionId()
           
 java.lang.String getEncoding()
           
 java.lang.String getHeader(java.lang.String name)
           
 java.util.Enumeration getHeaderNames()
           
 java.util.Enumeration getHeaders(java.lang.String name)
           
 HostGroup getHostGroup()
           
 ServletInputStream getInputStream()
           
 int getIntHeader(java.lang.String name)
           
 java.util.List getListLocales()
           
 java.lang.String getLocalAddr()
           
 java.util.Locale getLocale()
           
 java.util.Enumeration getLocales()
           
 java.lang.String getLocalName()
           
 int getLocalPort()
           
 java.lang.String getMethod()
           
 java.lang.String getParameter(java.lang.String name)
           
 java.util.Map getParameterMap()
           
 java.util.Enumeration getParameterNames()
           
 java.util.Map getParameters()
           
 java.util.Stack getParametersStack()
           
 java.lang.String[] getParameterValues(java.lang.String name)
           
 java.lang.Boolean getParsedParameters()
           
 java.lang.String getPathInfo()
           
 java.lang.String getPathTranslated()
           
 java.lang.String getProtocol()
           
 java.lang.String getQueryString()
           
 java.io.BufferedReader getReader()
           
 java.lang.String getRealPath(java.lang.String path)
          Deprecated.  
 java.lang.String getRemoteAddr()
           
 java.lang.String getRemoteHost()
           
 int getRemotePort()
           
 java.lang.String getRemoteUser()
           
 RequestDispatcher getRequestDispatcher(java.lang.String path)
           
 java.lang.String getRequestedSessionId()
           
 java.util.Map getRequestedSessionIds()
           
 java.lang.String getRequestURI()
           
 java.lang.StringBuffer getRequestURL()
           
 java.lang.String getScheme()
           
 java.lang.String getServerName()
           
 int getServerPort()
           
 ServletConfiguration getServletConfig()
           
 java.lang.String getServletPath()
           
 HttpSession getSession()
           
 HttpSession getSession(boolean create)
           
 java.security.Principal getUserPrincipal()
           
 WebAppConfiguration getWebAppConfig()
           
 boolean isRequestedSessionIdFromCookie()
           
 boolean isRequestedSessionIdFromUrl()
          Deprecated.  
 boolean isRequestedSessionIdFromURL()
           
 boolean isRequestedSessionIdValid()
           
 boolean isSecure()
           
 boolean isUserInRole(java.lang.String role)
           
 void markSessionsAsRequestFinished(long lastAccessedTime, boolean saveSessions)
           
 void parseHeaders(java.util.List headerList)
          Go through the list of headers, and build the headers/cookies arrays for the request object.
 void parseRequestParameters()
          This takes the parameters in the body of the request and puts them into the parameters map.
 void removeAttribute(java.lang.String name)
           
 void removeIncludeAttributes()
           
 void removeIncludeQueryString()
           
 void setAttribute(java.lang.String name, java.lang.Object o)
           
 void setAuthorization(java.lang.String auth)
           
 void setCharacterEncoding(java.lang.String encoding)
           
 void setContentLength(int len)
           
 void setContentType(java.lang.String type)
           
 void setCurrentSessionIds(java.util.Map currentSessionIds)
           
 void setDeadRequestedSessionId(java.lang.String deadRequestedSessionId)
           
 void setEncoding(java.lang.String encoding)
           
 void setForwardQueryString(java.lang.String forwardQueryString)
           
 void setHostGroup(HostGroup hostGroup)
           
 void setInputStream(WinstoneInputStream inputData)
           
 void setIsSecure(boolean isSecure)
           
 void setLocalAddr(java.lang.String ip)
           
 void setLocales(java.util.List locales)
           
 void setLocalName(java.lang.String name)
           
 void setLocalPort(int port)
           
 void setMethod(java.lang.String method)
           
 void setParsedParameters(java.lang.Boolean parsed)
           
 void setPathInfo(java.lang.String pathInfo)
           
 void setProtocol(java.lang.String protocolString)
           
 void setQueryString(java.lang.String queryString)
           
 void setRemoteIP(java.lang.String remoteIP)
           
 void setRemoteName(java.lang.String name)
           
 void setRemotePort(int port)
           
 void setRemoteUser(AuthenticationPrincipal user)
           
 void setRequestAttributeListeners(ServletRequestAttributeListener[] ral)
           
 void setRequestedSessionIds(java.util.Map requestedSessionIds)
           
 void setRequestListeners(ServletRequestListener[] rl)
           
 void setRequestURI(java.lang.String requestURI)
           
 void setScheme(java.lang.String scheme)
           
 void setServerName(java.lang.String name)
           
 void setServerPort(int port)
           
 void setServletConfig(ServletConfiguration servletConfig)
           
 void setServletPath(java.lang.String servletPath)
           
 void setWebAppConfig(WebAppConfiguration webappConfig)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

headerDF

protected static java.text.DateFormat headerDF

rnd

protected static java.util.Random rnd

attributes

protected java.util.Map attributes

parameters

protected java.util.Map parameters

attributesStack

protected java.util.Stack attributesStack

parametersStack

protected java.util.Stack parametersStack

headers

protected java.lang.String[] headers

cookies

protected Cookie[] cookies

method

protected java.lang.String method

scheme

protected java.lang.String scheme

serverName

protected java.lang.String serverName

requestURI

protected java.lang.String requestURI

servletPath

protected java.lang.String servletPath

pathInfo

protected java.lang.String pathInfo

queryString

protected java.lang.String queryString

protocol

protected java.lang.String protocol

contentLength

protected int contentLength

contentType

protected java.lang.String contentType

encoding

protected java.lang.String encoding

serverPort

protected int serverPort

remoteIP

protected java.lang.String remoteIP

remoteName

protected java.lang.String remoteName

remotePort

protected int remotePort

localAddr

protected java.lang.String localAddr

localName

protected java.lang.String localName

localPort

protected int localPort

parsedParameters

protected java.lang.Boolean parsedParameters
If true, it indicates that the request body was already consumed because of the call to getParameterMap() (or its sibling), which requires implicit form parameter parsing. If false, it indicates that the request body shall not be consumed by the said method, because the application already called getInputStream() and showed the intent to parse the request body on its own. If null, it indicates that we haven't come to that decision.


requestedSessionIds

protected java.util.Map requestedSessionIds

currentSessionIds

protected java.util.Map currentSessionIds

deadRequestedSessionId

protected java.lang.String deadRequestedSessionId

locales

protected java.util.List locales

authorization

protected java.lang.String authorization

isSecure

protected boolean isSecure

inputData

protected WinstoneInputStream inputData

inputReader

protected java.io.BufferedReader inputReader

servletConfig

protected ServletConfiguration servletConfig

webappConfig

protected WebAppConfiguration webappConfig

hostGroup

protected HostGroup hostGroup

authenticatedUser

protected AuthenticationPrincipal authenticatedUser

requestAttributeListeners

protected ServletRequestAttributeListener[] requestAttributeListeners

requestListeners

protected ServletRequestListener[] requestListeners
Constructor Detail

WinstoneRequest

public WinstoneRequest()
InputStream factory method.

Method Detail

cleanUp

public void cleanUp()
Resets the request to be reused


getAttributes

public java.util.Map getAttributes()

getParameters

public java.util.Map getParameters()

getAttributesStack

public java.util.Stack getAttributesStack()

getParametersStack

public java.util.Stack getParametersStack()

getCurrentSessionIds

public java.util.Map getCurrentSessionIds()

getRequestedSessionIds

public java.util.Map getRequestedSessionIds()

getDeadRequestedSessionId

public java.lang.String getDeadRequestedSessionId()

getHostGroup

public HostGroup getHostGroup()

getWebAppConfig

public WebAppConfiguration getWebAppConfig()

getServletConfig

public ServletConfiguration getServletConfig()

getEncoding

public java.lang.String getEncoding()

getParsedParameters

public java.lang.Boolean getParsedParameters()

getListLocales

public java.util.List getListLocales()

setInputStream

public void setInputStream(WinstoneInputStream inputData)

setHostGroup

public void setHostGroup(HostGroup hostGroup)

setWebAppConfig

public void setWebAppConfig(WebAppConfiguration webappConfig)

setServletConfig

public void setServletConfig(ServletConfiguration servletConfig)

setServerPort

public void setServerPort(int port)

setRemoteIP

public void setRemoteIP(java.lang.String remoteIP)

setRemoteName

public void setRemoteName(java.lang.String name)

setRemotePort

public void setRemotePort(int port)

setLocalAddr

public void setLocalAddr(java.lang.String ip)

setLocalName

public void setLocalName(java.lang.String name)

setLocalPort

public void setLocalPort(int port)

setMethod

public void setMethod(java.lang.String method)

setIsSecure

public void setIsSecure(boolean isSecure)

setQueryString

public void setQueryString(java.lang.String queryString)

setServerName

public void setServerName(java.lang.String name)

setRequestURI

public void setRequestURI(java.lang.String requestURI)

setScheme

public void setScheme(java.lang.String scheme)

setServletPath

public void setServletPath(java.lang.String servletPath)

setPathInfo

public void setPathInfo(java.lang.String pathInfo)

setProtocol

public void setProtocol(java.lang.String protocolString)

setRemoteUser

public void setRemoteUser(AuthenticationPrincipal user)

setContentLength

public void setContentLength(int len)

setContentType

public void setContentType(java.lang.String type)

setAuthorization

public void setAuthorization(java.lang.String auth)

setLocales

public void setLocales(java.util.List locales)

setCurrentSessionIds

public void setCurrentSessionIds(java.util.Map currentSessionIds)

setRequestedSessionIds

public void setRequestedSessionIds(java.util.Map requestedSessionIds)

setDeadRequestedSessionId

public void setDeadRequestedSessionId(java.lang.String deadRequestedSessionId)

setEncoding

public void setEncoding(java.lang.String encoding)

setParsedParameters

public void setParsedParameters(java.lang.Boolean parsed)

setRequestListeners

public void setRequestListeners(ServletRequestListener[] rl)

setRequestAttributeListeners

public void setRequestAttributeListeners(ServletRequestAttributeListener[] ral)

extractParameters

public static void extractParameters(java.lang.String urlEncodedParams,
                                     java.lang.String encoding,
                                     java.util.Map outputParams,
                                     boolean overwrite)
Gets parameters from the url encoded parameter string


decodeURLToken

public static java.lang.String decodeURLToken(java.lang.String in)

decodeURLToken

public static java.lang.String decodeURLToken(java.lang.String in,
                                              java.lang.String encoding)
                                       throws java.io.UnsupportedEncodingException
For decoding the URL encoding used on query strings

Throws:
java.io.UnsupportedEncodingException

decodeURLToken

public static java.lang.String decodeURLToken(java.lang.String in,
                                              boolean isQueryString)

decodeURLToken

public static java.lang.String decodeURLToken(java.lang.String in,
                                              java.lang.String encoding,
                                              boolean isQueryString)
                                       throws java.io.UnsupportedEncodingException
Parameters:
isQueryString - Decode query string, where '+' is an escape for ' '. Otherwise decode as path token, where '+' is not an escape character.
Throws:
java.io.UnsupportedEncodingException

discardRequestBody

public void discardRequestBody()

parseRequestParameters

public void parseRequestParameters()
This takes the parameters in the body of the request and puts them into the parameters map.


parseHeaders

public void parseHeaders(java.util.List headerList)
Go through the list of headers, and build the headers/cookies arrays for the request object.


addIncludeQueryParameters

public void addIncludeQueryParameters(java.lang.String queryString)

addIncludeAttributes

public void addIncludeAttributes(java.lang.String requestURI,
                                 java.lang.String contextPath,
                                 java.lang.String servletPath,
                                 java.lang.String pathInfo,
                                 java.lang.String queryString)

removeIncludeQueryString

public void removeIncludeQueryString()

clearIncludeStackForForward

public void clearIncludeStackForForward()

setForwardQueryString

public void setForwardQueryString(java.lang.String forwardQueryString)

removeIncludeAttributes

public void removeIncludeAttributes()

getAttribute

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

getAttributeNames

public java.util.Enumeration getAttributeNames()
Specified by:
getAttributeNames in interface ServletRequest

removeAttribute

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

setAttribute

public void setAttribute(java.lang.String name,
                         java.lang.Object o)
Specified by:
setAttribute in interface ServletRequest

getCharacterEncoding

public java.lang.String getCharacterEncoding()
Specified by:
getCharacterEncoding in interface ServletRequest

setCharacterEncoding

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

getContentLength

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

getContentType

public java.lang.String getContentType()
Specified by:
getContentType in interface ServletRequest

getLocale

public java.util.Locale getLocale()
Specified by:
getLocale in interface ServletRequest

getLocales

public java.util.Enumeration getLocales()
Specified by:
getLocales in interface ServletRequest

getProtocol

public java.lang.String getProtocol()
Specified by:
getProtocol in interface ServletRequest

getScheme

public java.lang.String getScheme()
Specified by:
getScheme in interface ServletRequest

isSecure

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

getReader

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

getInputStream

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

getParameter

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

getParameterNames

public java.util.Enumeration getParameterNames()
Specified by:
getParameterNames in interface ServletRequest

getParameterValues

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

getParameterMap

public java.util.Map getParameterMap()
Specified by:
getParameterMap in interface ServletRequest

getServerName

public java.lang.String getServerName()
Specified by:
getServerName in interface ServletRequest

getServerPort

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

getRemoteAddr

public java.lang.String getRemoteAddr()
Specified by:
getRemoteAddr in interface ServletRequest

getRemoteHost

public java.lang.String getRemoteHost()
Specified by:
getRemoteHost in interface ServletRequest

getRemotePort

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

getLocalAddr

public java.lang.String getLocalAddr()
Specified by:
getLocalAddr in interface ServletRequest

getLocalName

public java.lang.String getLocalName()
Specified by:
getLocalName in interface ServletRequest

getLocalPort

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

getRequestDispatcher

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

getContextPath

public java.lang.String getContextPath()
Specified by:
getContextPath in interface HttpServletRequest

getCookies

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

getDateHeader

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

getIntHeader

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

getHeader

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

getHeaderNames

public java.util.Enumeration getHeaderNames()
Specified by:
getHeaderNames in interface HttpServletRequest

getHeaders

public java.util.Enumeration getHeaders(java.lang.String name)
Specified by:
getHeaders in interface HttpServletRequest

getMethod

public java.lang.String getMethod()
Specified by:
getMethod in interface HttpServletRequest

getPathInfo

public java.lang.String getPathInfo()
Specified by:
getPathInfo in interface HttpServletRequest

getPathTranslated

public java.lang.String getPathTranslated()
Specified by:
getPathTranslated in interface HttpServletRequest

getQueryString

public java.lang.String getQueryString()
Specified by:
getQueryString in interface HttpServletRequest

getRequestURI

public java.lang.String getRequestURI()
Specified by:
getRequestURI in interface HttpServletRequest

getServletPath

public java.lang.String getServletPath()
Specified by:
getServletPath in interface HttpServletRequest

getRequestedSessionId

public java.lang.String getRequestedSessionId()
Specified by:
getRequestedSessionId in interface HttpServletRequest

getRequestURL

public java.lang.StringBuffer getRequestURL()
Specified by:
getRequestURL in interface HttpServletRequest

getUserPrincipal

public java.security.Principal getUserPrincipal()
Specified by:
getUserPrincipal in interface HttpServletRequest

isUserInRole

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

getAuthType

public java.lang.String getAuthType()
Specified by:
getAuthType in interface HttpServletRequest

getRemoteUser

public java.lang.String getRemoteUser()
Specified by:
getRemoteUser in interface HttpServletRequest

isRequestedSessionIdFromCookie

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

isRequestedSessionIdFromURL

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

isRequestedSessionIdValid

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

getSession

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

getSession

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

markSessionsAsRequestFinished

public void markSessionsAsRequestFinished(long lastAccessedTime,
                                          boolean saveSessions)

getRealPath

public java.lang.String getRealPath(java.lang.String path)
Deprecated. 

Specified by:
getRealPath in interface ServletRequest

isRequestedSessionIdFromUrl

public boolean isRequestedSessionIdFromUrl()
Deprecated. 

Specified by:
isRequestedSessionIdFromUrl in interface HttpServletRequest


Copyright © 2013. All Rights Reserved.