org.springframework.mock.web
Class MockHttpServletRequest

java.lang.Object
  extended by org.springframework.mock.web.MockHttpServletRequest
All Implemented Interfaces:
HttpServletRequest, ServletRequest
Direct Known Subclasses:
MockMultipartHttpServletRequest

public class MockHttpServletRequest
extends Object
implements HttpServletRequest

Mock implementation of the HttpServletRequest interface. Supports the Servlet 2.5 API level.

Used for testing the web framework; also useful for testing application controllers.

Since:
1.0.2
Author:
Juergen Hoeller, Rod Johnson, Rick Evans, Mark Fisher

Field Summary
static String DEFAULT_PROTOCOL
          The default protocol: 'http'.
static String DEFAULT_REMOTE_ADDR
          The default remote address: '127.0.0.1'.
static String DEFAULT_REMOTE_HOST
          The default remote host: 'localhost'.
static String DEFAULT_SERVER_ADDR
          The default server address: '127.0.0.1'.
static String DEFAULT_SERVER_NAME
          The default server name: 'localhost'.
static int DEFAULT_SERVER_PORT
          The default server port: '80'.
 
Fields inherited from interface javax.servlet.http.HttpServletRequest
BASIC_AUTH, CLIENT_CERT_AUTH, DIGEST_AUTH, FORM_AUTH
 
Constructor Summary
MockHttpServletRequest()
          Create a new MockHttpServletRequest with a default MockServletContext.
MockHttpServletRequest(ServletContext servletContext)
          Create a new MockHttpServletRequest.
MockHttpServletRequest(ServletContext servletContext, String method, String requestURI)
          Create a new MockHttpServletRequest.
MockHttpServletRequest(String method, String requestURI)
          Create a new MockHttpServletRequest with a default MockServletContext.
 
Method Summary
 void addHeader(String name, Object value)
          Add a header entry for the given name.
 void addParameter(String name, String value)
          Add a single value for the specified HTTP parameter.
 void addParameter(String name, String[] values)
          Add an array of values for the specified HTTP parameter.
 void addParameters(Map params)
          Adds all provided parameters without replacing any existing values.
 void addPreferredLocale(Locale locale)
          Add a new preferred locale, before any existing locales.
 void addUserRole(String role)
           
protected  void checkActive()
          Check whether this request is still active (that is, not completed yet), throwing an IllegalStateException if not active anymore.
 void clearAttributes()
          Clear all of this request's attributes.
 void close()
          Mark this request as completed, keeping its state.
 Object getAttribute(String name)
           
 Enumeration<String> getAttributeNames()
           
 String getAuthType()
           
 String getCharacterEncoding()
           
 int getContentLength()
           
 String getContentType()
           
 String getContextPath()
           
 Cookie[] getCookies()
           
 long getDateHeader(String name)
           
 String getHeader(String name)
           
 Enumeration<String> getHeaderNames()
           
 Enumeration<String> getHeaders(String name)
           
 ServletInputStream getInputStream()
           
 int getIntHeader(String name)
           
 String getLocalAddr()
           
 Locale getLocale()
           
 Enumeration<Locale> getLocales()
           
 String getLocalName()
           
 int getLocalPort()
           
 String getMethod()
           
 String getParameter(String name)
           
 Map<String,String[]> getParameterMap()
           
 Enumeration<String> getParameterNames()
           
 String[] getParameterValues(String name)
           
 String getPathInfo()
           
 String getPathTranslated()
           
 String getProtocol()
           
 String getQueryString()
           
 BufferedReader getReader()
           
 String getRealPath(String path)
           
 String getRemoteAddr()
           
 String getRemoteHost()
           
 int getRemotePort()
           
 String getRemoteUser()
           
 RequestDispatcher getRequestDispatcher(String path)
           
 String getRequestedSessionId()
           
 String getRequestURI()
           
 StringBuffer getRequestURL()
           
 String getScheme()
           
 String getServerName()
           
 int getServerPort()
           
 ServletContext getServletContext()
          Return the ServletContext that this request is associated with.
 String getServletPath()
           
 HttpSession getSession()
           
 HttpSession getSession(boolean create)
           
 Principal getUserPrincipal()
           
 void invalidate()
          Invalidate this request, clearing its state.
 boolean isActive()
          Return whether this request is still active (that is, not completed yet).
 boolean isRequestedSessionIdFromCookie()
           
 boolean isRequestedSessionIdFromUrl()
           
 boolean isRequestedSessionIdFromURL()
           
 boolean isRequestedSessionIdValid()
           
 boolean isSecure()
           
 boolean isUserInRole(String role)
           
 void removeAllParameters()
          Removes all existing parameters.
 void removeAttribute(String name)
           
 void removeParameter(String name)
          Remove already registered values for the specified HTTP parameter, if any.
 void setAttribute(String name, Object value)
           
 void setAuthType(String authType)
           
 void setCharacterEncoding(String characterEncoding)
           
 void setContent(byte[] content)
           
 void setContentType(String contentType)
           
 void setContextPath(String contextPath)
           
 void setCookies(Cookie... cookies)
           
 void setLocalAddr(String localAddr)
           
 void setLocalName(String localName)
           
 void setLocalPort(int localPort)
           
 void setMethod(String method)
           
 void setParameter(String name, String value)
          Set a single value for the specified HTTP parameter.
 void setParameter(String name, String[] values)
          Set an array of values for the specified HTTP parameter.
 void setParameters(Map params)
          Sets all provided parameters replacing any existing values for the provided parameter names.
 void setPathInfo(String pathInfo)
           
 void setProtocol(String protocol)
           
 void setQueryString(String queryString)
           
 void setRemoteAddr(String remoteAddr)
           
 void setRemoteHost(String remoteHost)
           
 void setRemotePort(int remotePort)
           
 void setRemoteUser(String remoteUser)
           
 void setRequestedSessionId(String requestedSessionId)
           
 void setRequestedSessionIdFromCookie(boolean requestedSessionIdFromCookie)
           
 void setRequestedSessionIdFromURL(boolean requestedSessionIdFromURL)
           
 void setRequestedSessionIdValid(boolean requestedSessionIdValid)
           
 void setRequestURI(String requestURI)
           
 void setScheme(String scheme)
           
 void setSecure(boolean secure)
           
 void setServerName(String serverName)
           
 void setServerPort(int serverPort)
           
 void setServletPath(String servletPath)
           
 void setSession(HttpSession session)
           
 void setUserPrincipal(Principal userPrincipal)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_PROTOCOL

public static final String DEFAULT_PROTOCOL
The default protocol: 'http'.

See Also:
Constant Field Values

DEFAULT_SERVER_ADDR

public static final String DEFAULT_SERVER_ADDR
The default server address: '127.0.0.1'.

See Also:
Constant Field Values

DEFAULT_SERVER_NAME

public static final String DEFAULT_SERVER_NAME
The default server name: 'localhost'.

See Also:
Constant Field Values

DEFAULT_SERVER_PORT

public static final int DEFAULT_SERVER_PORT
The default server port: '80'.

See Also:
Constant Field Values

DEFAULT_REMOTE_ADDR

public static final String DEFAULT_REMOTE_ADDR
The default remote address: '127.0.0.1'.

See Also:
Constant Field Values

DEFAULT_REMOTE_HOST

public static final String DEFAULT_REMOTE_HOST
The default remote host: 'localhost'.

See Also:
Constant Field Values
Constructor Detail

MockHttpServletRequest

public MockHttpServletRequest()
Create a new MockHttpServletRequest with a default MockServletContext.

See Also:
MockServletContext

MockHttpServletRequest

public MockHttpServletRequest(String method,
                              String requestURI)
Create a new MockHttpServletRequest with a default MockServletContext.

Parameters:
method - the request method (may be null)
requestURI - the request URI (may be null)
See Also:
setMethod(java.lang.String), setRequestURI(java.lang.String), MockServletContext

MockHttpServletRequest

public MockHttpServletRequest(ServletContext servletContext)
Create a new MockHttpServletRequest.

Parameters:
servletContext - the ServletContext that the request runs in (may be null to use a default MockServletContext)
See Also:
MockServletContext

MockHttpServletRequest

public MockHttpServletRequest(ServletContext servletContext,
                              String method,
                              String requestURI)
Create a new MockHttpServletRequest.

Parameters:
servletContext - the ServletContext that the request runs in (may be null to use a default MockServletContext)
method - the request method (may be null)
requestURI - the request URI (may be null)
See Also:
setMethod(java.lang.String), setRequestURI(java.lang.String), MockServletContext
Method Detail

getServletContext

public ServletContext getServletContext()
Return the ServletContext that this request is associated with. (Not available in the standard HttpServletRequest interface for some reason.)


isActive

public boolean isActive()
Return whether this request is still active (that is, not completed yet).


close

public void close()
Mark this request as completed, keeping its state.


invalidate

public void invalidate()
Invalidate this request, clearing its state.


checkActive

protected void checkActive()
                    throws IllegalStateException
Check whether this request is still active (that is, not completed yet), throwing an IllegalStateException if not active anymore.

Throws:
IllegalStateException

getAttribute

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

getAttributeNames

public Enumeration<String> getAttributeNames()
Specified by:
getAttributeNames in interface ServletRequest

getCharacterEncoding

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

setCharacterEncoding

public void setCharacterEncoding(String characterEncoding)
Specified by:
setCharacterEncoding in interface ServletRequest

setContent

public void setContent(byte[] content)

getContentLength

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

setContentType

public void setContentType(String contentType)

getContentType

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

getInputStream

public ServletInputStream getInputStream()
Specified by:
getInputStream in interface ServletRequest

setParameter

public void setParameter(String name,
                         String value)
Set a single value for the specified HTTP parameter.

If there are already one or more values registered for the given parameter name, they will be replaced.


setParameter

public void setParameter(String name,
                         String[] values)
Set an array of values for the specified HTTP parameter.

If there are already one or more values registered for the given parameter name, they will be replaced.


setParameters

public void setParameters(Map params)
Sets all provided parameters replacing any existing values for the provided parameter names. To add without replacing existing values, use addParameters(java.util.Map).


addParameter

public void addParameter(String name,
                         String value)
Add a single value for the specified HTTP parameter.

If there are already one or more values registered for the given parameter name, the given value will be added to the end of the list.


addParameter

public void addParameter(String name,
                         String[] values)
Add an array of values for the specified HTTP parameter.

If there are already one or more values registered for the given parameter name, the given values will be added to the end of the list.


addParameters

public void addParameters(Map params)
Adds all provided parameters without replacing any existing values. To replace existing values, use setParameters(java.util.Map).


removeParameter

public void removeParameter(String name)
Remove already registered values for the specified HTTP parameter, if any.


removeAllParameters

public void removeAllParameters()
Removes all existing parameters.


getParameter

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

getParameterNames

public Enumeration<String> getParameterNames()
Specified by:
getParameterNames in interface ServletRequest

getParameterValues

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

getParameterMap

public Map<String,String[]> getParameterMap()
Specified by:
getParameterMap in interface ServletRequest

setProtocol

public void setProtocol(String protocol)

getProtocol

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

setScheme

public void setScheme(String scheme)

getScheme

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

setServerName

public void setServerName(String serverName)

getServerName

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

setServerPort

public void setServerPort(int serverPort)

getServerPort

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

getReader

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

setRemoteAddr

public void setRemoteAddr(String remoteAddr)

getRemoteAddr

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

setRemoteHost

public void setRemoteHost(String remoteHost)

getRemoteHost

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

setAttribute

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

removeAttribute

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

clearAttributes

public void clearAttributes()
Clear all of this request's attributes.


addPreferredLocale

public void addPreferredLocale(Locale locale)
Add a new preferred locale, before any existing locales.


getLocale

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

getLocales

public Enumeration<Locale> getLocales()
Specified by:
getLocales in interface ServletRequest

setSecure

public void setSecure(boolean secure)

isSecure

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

getRequestDispatcher

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

getRealPath

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

setRemotePort

public void setRemotePort(int remotePort)

getRemotePort

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

setLocalName

public void setLocalName(String localName)

getLocalName

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

setLocalAddr

public void setLocalAddr(String localAddr)

getLocalAddr

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

setLocalPort

public void setLocalPort(int localPort)

getLocalPort

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

setAuthType

public void setAuthType(String authType)

getAuthType

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

setCookies

public void setCookies(Cookie... cookies)

getCookies

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

addHeader

public void addHeader(String name,
                      Object value)
Add a header entry for the given name.

If there was no entry for that header name before, the value will be used as-is. In case of an existing entry, a String array will be created, adding the given value (more specifically, its toString representation) as further element.

Multiple values can only be stored as list of Strings, following the Servlet spec (see getHeaders accessor). As alternative to repeated addHeader calls for individual elements, you can use a single call with an entire array or Collection of values as parameter.

See Also:
getHeaderNames(), getHeader(java.lang.String), getHeaders(java.lang.String), getDateHeader(java.lang.String), getIntHeader(java.lang.String)

getDateHeader

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

getHeader

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

getHeaders

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

getHeaderNames

public Enumeration<String> getHeaderNames()
Specified by:
getHeaderNames in interface HttpServletRequest

getIntHeader

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

setMethod

public void setMethod(String method)

getMethod

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

setPathInfo

public void setPathInfo(String pathInfo)

getPathInfo

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

getPathTranslated

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

setContextPath

public void setContextPath(String contextPath)

getContextPath

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

setQueryString

public void setQueryString(String queryString)

getQueryString

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

setRemoteUser

public void setRemoteUser(String remoteUser)

getRemoteUser

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

addUserRole

public void addUserRole(String role)

isUserInRole

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

setUserPrincipal

public void setUserPrincipal(Principal userPrincipal)

getUserPrincipal

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

setRequestedSessionId

public void setRequestedSessionId(String requestedSessionId)

getRequestedSessionId

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

setRequestURI

public void setRequestURI(String requestURI)

getRequestURI

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

getRequestURL

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

setServletPath

public void setServletPath(String servletPath)

getServletPath

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

setSession

public void setSession(HttpSession session)

getSession

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

getSession

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

setRequestedSessionIdValid

public void setRequestedSessionIdValid(boolean requestedSessionIdValid)

isRequestedSessionIdValid

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

setRequestedSessionIdFromCookie

public void setRequestedSessionIdFromCookie(boolean requestedSessionIdFromCookie)

isRequestedSessionIdFromCookie

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

setRequestedSessionIdFromURL

public void setRequestedSessionIdFromURL(boolean requestedSessionIdFromURL)

isRequestedSessionIdFromURL

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

isRequestedSessionIdFromUrl

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