public class MockHttpServletRequest extends java.lang.Object implements HttpServletRequest
HttpServletRequest
interface.
The default, preferred Locale
for the server mocked by this request
is Locale.ENGLISH
. This value can be changed via addPreferredLocale(java.util.Locale)
or setPreferredLocales(java.util.List<java.util.Locale>)
.
As of Spring Framework 5.0, this set of mocks is designed on a Servlet 4.0 baseline.
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
DEFAULT_PROTOCOL
The default protocol: 'HTTP/1.1'.
|
static java.lang.String |
DEFAULT_REMOTE_ADDR
The default remote address: '127.0.0.1'.
|
static java.lang.String |
DEFAULT_REMOTE_HOST
The default remote host: 'localhost'.
|
static java.lang.String |
DEFAULT_SCHEME
The default scheme: 'http'.
|
static java.lang.String |
DEFAULT_SERVER_ADDR
The default server address: '127.0.0.1'.
|
static java.lang.String |
DEFAULT_SERVER_NAME
The default server name: 'localhost'.
|
static int |
DEFAULT_SERVER_PORT
The default server port: '80'.
|
BASIC_AUTH, CLIENT_CERT_AUTH, DIGEST_AUTH, FORM_AUTH
Constructor and Description |
---|
MockHttpServletRequest()
Create a new
MockHttpServletRequest with a default
MockServletContext . |
MockHttpServletRequest(ServletContext servletContext)
Create a new
MockHttpServletRequest with the supplied ServletContext . |
MockHttpServletRequest(ServletContext servletContext,
java.lang.String method,
java.lang.String requestURI)
|
MockHttpServletRequest(java.lang.String method,
java.lang.String requestURI)
Create a new
MockHttpServletRequest with a default
MockServletContext . |
Modifier and Type | Method and Description |
---|---|
void |
addHeader(java.lang.String name,
java.lang.Object value)
Add a header entry for the given name.
|
void |
addParameter(java.lang.String name,
java.lang.String... values)
Add an array of values for the specified HTTP parameter.
|
void |
addParameter(java.lang.String name,
java.lang.String value)
Add a single value for the specified HTTP parameter.
|
void |
addParameters(java.util.Map<java.lang.String,?> params)
Adds all provided parameters without replacing any
existing values.
|
void |
addPart(Part part) |
void |
addPreferredLocale(java.util.Locale locale)
Add a new preferred locale, before any existing locales.
|
void |
addUserRole(java.lang.String role) |
boolean |
authenticate(HttpServletResponse response) |
java.lang.String |
changeSessionId()
The implementation of this (Servlet 3.1+) method calls
MockHttpSession.changeSessionId() if the session is a mock session. |
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.
|
AsyncContext |
getAsyncContext() |
java.lang.Object |
getAttribute(java.lang.String name) |
java.util.Enumeration<java.lang.String> |
getAttributeNames() |
java.lang.String |
getAuthType() |
java.lang.String |
getCharacterEncoding() |
byte[] |
getContentAsByteArray()
Get the content of the request body as a byte array.
|
java.lang.String |
getContentAsString()
Get the content of the request body as a
String , using the configured
character encoding. |
int |
getContentLength() |
long |
getContentLengthLong() |
java.lang.String |
getContentType() |
java.lang.String |
getContextPath() |
Cookie[] |
getCookies() |
long |
getDateHeader(java.lang.String name)
Return the long timestamp for the date header with the given
name . |
DispatcherType |
getDispatcherType() |
java.lang.String |
getHeader(java.lang.String name) |
java.util.Enumeration<java.lang.String> |
getHeaderNames() |
java.util.Enumeration<java.lang.String> |
getHeaders(java.lang.String name) |
ServletInputStream |
getInputStream() |
int |
getIntHeader(java.lang.String name) |
java.lang.String |
getLocalAddr() |
java.util.Locale |
getLocale()
Return the first preferred locale configured
in this mock request.
|
java.util.Enumeration<java.util.Locale> |
getLocales()
Return an enumeration of the preferred
locales configured in this mock request.
|
java.lang.String |
getLocalName() |
int |
getLocalPort() |
java.lang.String |
getMethod() |
java.lang.String |
getParameter(java.lang.String name) |
java.util.Map<java.lang.String,java.lang.String[]> |
getParameterMap() |
java.util.Enumeration<java.lang.String> |
getParameterNames() |
java.lang.String[] |
getParameterValues(java.lang.String name) |
Part |
getPart(java.lang.String name) |
java.util.Collection<Part> |
getParts() |
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.lang.String |
getRequestURI() |
java.lang.StringBuffer |
getRequestURL() |
java.lang.String |
getScheme() |
java.lang.String |
getServerName() |
int |
getServerPort() |
ServletContext |
getServletContext()
Return the ServletContext that this request is associated with.
|
java.lang.String |
getServletPath() |
HttpSession |
getSession() |
HttpSession |
getSession(boolean create) |
java.security.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 |
isAsyncStarted() |
boolean |
isAsyncSupported() |
boolean |
isRequestedSessionIdFromCookie() |
boolean |
isRequestedSessionIdFromUrl()
Deprecated.
|
boolean |
isRequestedSessionIdFromURL() |
boolean |
isRequestedSessionIdValid() |
boolean |
isSecure()
|
boolean |
isUserInRole(java.lang.String role) |
void |
login(java.lang.String username,
java.lang.String password) |
void |
logout() |
void |
removeAllParameters()
Removes all existing parameters.
|
void |
removeAttribute(java.lang.String name) |
void |
removeParameter(java.lang.String name)
Remove already registered values for the specified HTTP parameter, if any.
|
void |
setAsyncContext(MockAsyncContext asyncContext) |
void |
setAsyncStarted(boolean asyncStarted) |
void |
setAsyncSupported(boolean asyncSupported) |
void |
setAttribute(java.lang.String name,
java.lang.Object value) |
void |
setAuthType(java.lang.String authType) |
void |
setCharacterEncoding(java.lang.String characterEncoding) |
void |
setContent(byte[] content)
Set the content of the request body as a byte array.
|
void |
setContentType(java.lang.String contentType) |
void |
setContextPath(java.lang.String contextPath) |
void |
setCookies(Cookie... cookies) |
void |
setDispatcherType(DispatcherType dispatcherType) |
void |
setLocalAddr(java.lang.String localAddr) |
void |
setLocalName(java.lang.String localName) |
void |
setLocalPort(int localPort) |
void |
setMethod(java.lang.String method) |
void |
setParameter(java.lang.String name,
java.lang.String... values)
Set an array of values for the specified HTTP parameter.
|
void |
setParameter(java.lang.String name,
java.lang.String value)
Set a single value for the specified HTTP parameter.
|
void |
setParameters(java.util.Map<java.lang.String,?> params)
Set all provided parameters replacing any existing
values for the provided parameter names.
|
void |
setPathInfo(java.lang.String pathInfo) |
void |
setPreferredLocales(java.util.List<java.util.Locale> locales)
Set the list of preferred locales, in descending order, effectively replacing
any existing locales.
|
void |
setProtocol(java.lang.String protocol) |
void |
setQueryString(java.lang.String queryString) |
void |
setRemoteAddr(java.lang.String remoteAddr) |
void |
setRemoteHost(java.lang.String remoteHost) |
void |
setRemotePort(int remotePort) |
void |
setRemoteUser(java.lang.String remoteUser) |
void |
setRequestedSessionId(java.lang.String requestedSessionId) |
void |
setRequestedSessionIdFromCookie(boolean requestedSessionIdFromCookie) |
void |
setRequestedSessionIdFromURL(boolean requestedSessionIdFromURL) |
void |
setRequestedSessionIdValid(boolean requestedSessionIdValid) |
void |
setRequestURI(java.lang.String requestURI) |
void |
setScheme(java.lang.String scheme) |
void |
setSecure(boolean secure)
Set the boolean
secure flag indicating whether the mock request
was made using a secure channel, such as HTTPS. |
void |
setServerName(java.lang.String serverName) |
void |
setServerPort(int serverPort) |
void |
setServletPath(java.lang.String servletPath) |
void |
setSession(HttpSession session) |
void |
setUserPrincipal(java.security.Principal userPrincipal) |
AsyncContext |
startAsync() |
AsyncContext |
startAsync(ServletRequest request,
ServletResponse response) |
<T extends HttpUpgradeHandler> |
upgrade(java.lang.Class<T> handlerClass) |
public static final java.lang.String DEFAULT_PROTOCOL
public static final java.lang.String DEFAULT_SCHEME
public static final java.lang.String DEFAULT_SERVER_ADDR
public static final java.lang.String DEFAULT_SERVER_NAME
public static final int DEFAULT_SERVER_PORT
public static final java.lang.String DEFAULT_REMOTE_ADDR
public static final java.lang.String DEFAULT_REMOTE_HOST
public MockHttpServletRequest()
MockHttpServletRequest
with a default
MockServletContext
.public MockHttpServletRequest(@Nullable java.lang.String method, @Nullable java.lang.String requestURI)
MockHttpServletRequest
with a default
MockServletContext
.method
- the request method (may be null
)requestURI
- the request URI (may be null
)setMethod(java.lang.String)
,
setRequestURI(java.lang.String)
,
MockHttpServletRequest(ServletContext, String, String)
public MockHttpServletRequest(@Nullable ServletContext servletContext)
MockHttpServletRequest
with the supplied ServletContext
.servletContext
- the ServletContext that the request runs in
(may be null
to use a default MockServletContext
)MockHttpServletRequest(ServletContext, String, String)
public MockHttpServletRequest(@Nullable ServletContext servletContext, @Nullable java.lang.String method, @Nullable java.lang.String requestURI)
MockHttpServletRequest
with the supplied ServletContext
,
method
, and requestURI
.
The preferred locale will be set to Locale.ENGLISH
.
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
)setMethod(java.lang.String)
,
setRequestURI(java.lang.String)
,
setPreferredLocales(java.util.List<java.util.Locale>)
,
MockServletContext
public ServletContext getServletContext()
getServletContext
in interface ServletRequest
public boolean isActive()
public void close()
public void invalidate()
protected void checkActive() throws java.lang.IllegalStateException
java.lang.IllegalStateException
public java.lang.Object getAttribute(java.lang.String name)
getAttribute
in interface ServletRequest
public java.util.Enumeration<java.lang.String> getAttributeNames()
getAttributeNames
in interface ServletRequest
@Nullable public java.lang.String getCharacterEncoding()
getCharacterEncoding
in interface ServletRequest
public void setCharacterEncoding(@Nullable java.lang.String characterEncoding)
setCharacterEncoding
in interface ServletRequest
public void setContent(@Nullable byte[] content)
If the supplied byte array represents text such as XML or JSON, the
character encoding
should typically be
set as well.
@Nullable public byte[] getContentAsByteArray()
null
)setContent(byte[])
,
getContentAsString()
@Nullable public java.lang.String getContentAsString() throws java.lang.IllegalStateException, java.io.UnsupportedEncodingException
String
, using the configured
character encoding.String
, potentially null
java.lang.IllegalStateException
- if the character encoding has not been setjava.io.UnsupportedEncodingException
- if the character encoding is not supportedsetContent(byte[])
,
setCharacterEncoding(String)
,
getContentAsByteArray()
public int getContentLength()
getContentLength
in interface ServletRequest
public long getContentLengthLong()
getContentLengthLong
in interface ServletRequest
public void setContentType(@Nullable java.lang.String contentType)
@Nullable public java.lang.String getContentType()
getContentType
in interface ServletRequest
public ServletInputStream getInputStream()
getInputStream
in interface ServletRequest
public void setParameter(java.lang.String name, java.lang.String value)
If there are already one or more values registered for the given parameter name, they will be replaced.
public void setParameter(java.lang.String name, java.lang.String... values)
If there are already one or more values registered for the given parameter name, they will be replaced.
public void setParameters(java.util.Map<java.lang.String,?> params)
addParameters(java.util.Map)
.public void addParameter(java.lang.String name, @Nullable java.lang.String value)
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.
public void addParameter(java.lang.String name, java.lang.String... values)
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.
public void addParameters(java.util.Map<java.lang.String,?> params)
setParameters(java.util.Map)
.public void removeParameter(java.lang.String name)
public void removeAllParameters()
@Nullable public java.lang.String getParameter(java.lang.String name)
getParameter
in interface ServletRequest
public java.util.Enumeration<java.lang.String> getParameterNames()
getParameterNames
in interface ServletRequest
public java.lang.String[] getParameterValues(java.lang.String name)
getParameterValues
in interface ServletRequest
public java.util.Map<java.lang.String,java.lang.String[]> getParameterMap()
getParameterMap
in interface ServletRequest
public void setProtocol(java.lang.String protocol)
public java.lang.String getProtocol()
getProtocol
in interface ServletRequest
public void setScheme(java.lang.String scheme)
public java.lang.String getScheme()
getScheme
in interface ServletRequest
public void setServerName(java.lang.String serverName)
public java.lang.String getServerName()
getServerName
in interface ServletRequest
public void setServerPort(int serverPort)
public int getServerPort()
getServerPort
in interface ServletRequest
public java.io.BufferedReader getReader() throws java.io.UnsupportedEncodingException
getReader
in interface ServletRequest
java.io.UnsupportedEncodingException
public void setRemoteAddr(java.lang.String remoteAddr)
public java.lang.String getRemoteAddr()
getRemoteAddr
in interface ServletRequest
public void setRemoteHost(java.lang.String remoteHost)
public java.lang.String getRemoteHost()
getRemoteHost
in interface ServletRequest
public void setAttribute(java.lang.String name, @Nullable java.lang.Object value)
setAttribute
in interface ServletRequest
public void removeAttribute(java.lang.String name)
removeAttribute
in interface ServletRequest
public void clearAttributes()
public void addPreferredLocale(java.util.Locale locale)
public void setPreferredLocales(java.util.List<java.util.Locale> locales)
addPreferredLocale(java.util.Locale)
public java.util.Locale getLocale()
If no locales have been explicitly configured, the default,
preferred Locale
for the server mocked by this
request is Locale.ENGLISH
.
In contrast to the Servlet specification, this mock implementation
does not take into consideration any locales
specified via the Accept-Language
header.
getLocale
in interface ServletRequest
ServletRequest.getLocale()
,
addPreferredLocale(Locale)
,
setPreferredLocales(List)
public java.util.Enumeration<java.util.Locale> getLocales()
If no locales have been explicitly configured, the default,
preferred Locale
for the server mocked by this
request is Locale.ENGLISH
.
In contrast to the Servlet specification, this mock implementation
does not take into consideration any locales
specified via the Accept-Language
header.
getLocales
in interface ServletRequest
ServletRequest.getLocales()
,
addPreferredLocale(Locale)
,
setPreferredLocales(List)
public void setSecure(boolean secure)
secure
flag indicating whether the mock request
was made using a secure channel, such as HTTPS.isSecure()
,
getScheme()
,
setScheme(String)
public boolean isSecure()
isSecure
in interface ServletRequest
ServletRequest.isSecure()
public RequestDispatcher getRequestDispatcher(java.lang.String path)
getRequestDispatcher
in interface ServletRequest
@Deprecated public java.lang.String getRealPath(java.lang.String path)
getRealPath
in interface ServletRequest
public void setRemotePort(int remotePort)
public int getRemotePort()
getRemotePort
in interface ServletRequest
public void setLocalName(java.lang.String localName)
public java.lang.String getLocalName()
getLocalName
in interface ServletRequest
public void setLocalAddr(java.lang.String localAddr)
public java.lang.String getLocalAddr()
getLocalAddr
in interface ServletRequest
public void setLocalPort(int localPort)
public int getLocalPort()
getLocalPort
in interface ServletRequest
public AsyncContext startAsync()
startAsync
in interface ServletRequest
public AsyncContext startAsync(ServletRequest request, @Nullable ServletResponse response)
startAsync
in interface ServletRequest
public void setAsyncStarted(boolean asyncStarted)
public boolean isAsyncStarted()
isAsyncStarted
in interface ServletRequest
public void setAsyncSupported(boolean asyncSupported)
public boolean isAsyncSupported()
isAsyncSupported
in interface ServletRequest
public void setAsyncContext(@Nullable MockAsyncContext asyncContext)
@Nullable public AsyncContext getAsyncContext()
getAsyncContext
in interface ServletRequest
public void setDispatcherType(DispatcherType dispatcherType)
public DispatcherType getDispatcherType()
getDispatcherType
in interface ServletRequest
public void setAuthType(@Nullable java.lang.String authType)
@Nullable public java.lang.String getAuthType()
getAuthType
in interface HttpServletRequest
@Nullable public Cookie[] getCookies()
getCookies
in interface HttpServletRequest
public void addHeader(java.lang.String name, java.lang.Object value)
While this method can take any Object
as a parameter, it
is recommended to use the following types:
toString()
; see getHeader(java.lang.String)
.getDateHeader(java.lang.String)
.getIntHeader(java.lang.String)
.String[]
or Collection<String>
for multiple values; see getHeaders(java.lang.String)
.public long getDateHeader(java.lang.String name)
name
.
If the internal value representation is a String, this method will try to parse it as a date using the supported date formats:
getDateHeader
in interface HttpServletRequest
name
- the header name@Nullable public java.lang.String getHeader(java.lang.String name)
getHeader
in interface HttpServletRequest
public java.util.Enumeration<java.lang.String> getHeaders(java.lang.String name)
getHeaders
in interface HttpServletRequest
public java.util.Enumeration<java.lang.String> getHeaderNames()
getHeaderNames
in interface HttpServletRequest
public int getIntHeader(java.lang.String name)
getIntHeader
in interface HttpServletRequest
public void setMethod(@Nullable java.lang.String method)
@Nullable public java.lang.String getMethod()
getMethod
in interface HttpServletRequest
public void setPathInfo(@Nullable java.lang.String pathInfo)
@Nullable public java.lang.String getPathInfo()
getPathInfo
in interface HttpServletRequest
@Nullable public java.lang.String getPathTranslated()
getPathTranslated
in interface HttpServletRequest
public void setContextPath(java.lang.String contextPath)
public java.lang.String getContextPath()
getContextPath
in interface HttpServletRequest
public void setQueryString(@Nullable java.lang.String queryString)
@Nullable public java.lang.String getQueryString()
getQueryString
in interface HttpServletRequest
public void setRemoteUser(@Nullable java.lang.String remoteUser)
@Nullable public java.lang.String getRemoteUser()
getRemoteUser
in interface HttpServletRequest
public void addUserRole(java.lang.String role)
public boolean isUserInRole(java.lang.String role)
isUserInRole
in interface HttpServletRequest
public void setUserPrincipal(@Nullable java.security.Principal userPrincipal)
@Nullable public java.security.Principal getUserPrincipal()
getUserPrincipal
in interface HttpServletRequest
public void setRequestedSessionId(@Nullable java.lang.String requestedSessionId)
@Nullable public java.lang.String getRequestedSessionId()
getRequestedSessionId
in interface HttpServletRequest
public void setRequestURI(@Nullable java.lang.String requestURI)
@Nullable public java.lang.String getRequestURI()
getRequestURI
in interface HttpServletRequest
public java.lang.StringBuffer getRequestURL()
getRequestURL
in interface HttpServletRequest
public void setServletPath(java.lang.String servletPath)
public java.lang.String getServletPath()
getServletPath
in interface HttpServletRequest
public void setSession(HttpSession session)
@Nullable public HttpSession getSession(boolean create)
getSession
in interface HttpServletRequest
@Nullable public HttpSession getSession()
getSession
in interface HttpServletRequest
public java.lang.String changeSessionId()
MockHttpSession.changeSessionId()
if the session is a mock session.
Otherwise it simply returns the current session id.changeSessionId
in interface HttpServletRequest
public void setRequestedSessionIdValid(boolean requestedSessionIdValid)
public boolean isRequestedSessionIdValid()
isRequestedSessionIdValid
in interface HttpServletRequest
public void setRequestedSessionIdFromCookie(boolean requestedSessionIdFromCookie)
public boolean isRequestedSessionIdFromCookie()
isRequestedSessionIdFromCookie
in interface HttpServletRequest
public void setRequestedSessionIdFromURL(boolean requestedSessionIdFromURL)
public boolean isRequestedSessionIdFromURL()
isRequestedSessionIdFromURL
in interface HttpServletRequest
@Deprecated public boolean isRequestedSessionIdFromUrl()
isRequestedSessionIdFromUrl
in interface HttpServletRequest
public boolean authenticate(HttpServletResponse response) throws java.io.IOException, ServletException
authenticate
in interface HttpServletRequest
java.io.IOException
ServletException
public void login(java.lang.String username, java.lang.String password) throws ServletException
login
in interface HttpServletRequest
ServletException
public void logout() throws ServletException
logout
in interface HttpServletRequest
ServletException
public void addPart(Part part)
@Nullable public Part getPart(java.lang.String name) throws java.io.IOException, java.lang.IllegalStateException, ServletException
getPart
in interface HttpServletRequest
java.io.IOException
java.lang.IllegalStateException
ServletException
public java.util.Collection<Part> getParts() throws java.io.IOException, java.lang.IllegalStateException, ServletException
getParts
in interface HttpServletRequest
java.io.IOException
java.lang.IllegalStateException
ServletException
public <T extends HttpUpgradeHandler> T upgrade(java.lang.Class<T> handlerClass) throws java.io.IOException, ServletException
upgrade
in interface HttpServletRequest
java.io.IOException
ServletException