## org.springframework.mock.web
Class MockHttpServletRequest

    java.lang.Object
      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 <emphasis>without</emphasis> 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 <emphasis>replacing</emphasis> 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 <emphasis>replacing</emphasis> 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 <emphasis>without</emphasis> 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`