Class MockHttpServletRequest
- All Implemented Interfaces:
jakarta.servlet.http.HttpServletRequest, jakarta.servlet.ServletRequest
- Direct Known Subclasses:
MockMultipartHttpServletRequest
HttpServletRequest interface.
The default, preferred Locale for the server mocked by this request
is Locale.ENGLISH. This value can be changed via addPreferredLocale(Locale)
or setPreferredLocales(List).
As of Spring 7.0, this set of mocks is designed on a Servlet 6.1 baseline.
- Since:
- 1.0.2
- Author:
- Juergen Hoeller, Rod Johnson, Rick Evans, Mark Fisher, Chris Beams, Sam Brannen, Brian Clozel
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringThe default protocol: 'HTTP/1.1'.static final StringThe default remote address: '127.0.0.1'.static final StringThe default remote host: 'localhost'.static final StringThe default scheme: 'http'.static final StringThe default server address: '127.0.0.1'.static final StringThe default server name: 'localhost'.static final intThe default server port: '80'.Fields inherited from interface jakarta.servlet.http.HttpServletRequest
BASIC_AUTH, CLIENT_CERT_AUTH, DIGEST_AUTH, FORM_AUTH -
Constructor Summary
ConstructorsConstructorDescriptionCreate a newMockHttpServletRequestwith a defaultMockServletContext.MockHttpServletRequest(@Nullable jakarta.servlet.ServletContext servletContext) Create a newMockHttpServletRequestwith the suppliedServletContext.MockHttpServletRequest(@Nullable jakarta.servlet.ServletContext servletContext, @Nullable String method, @Nullable String requestURI) Create a newMockHttpServletRequestwith the suppliedServletContext,method, andrequestURI.MockHttpServletRequest(@Nullable String method, @Nullable String requestURI) Create a newMockHttpServletRequestwith a defaultMockServletContext. -
Method Summary
Modifier and TypeMethodDescriptionvoidAdd an HTTP header entry for the given name.voidaddParameter(String name, @Nullable String value) Add a single value for the specified HTTP parameter.voidaddParameter(String name, String... values) Add an array of values for the specified HTTP parameter.voidaddParameters(Map<String, ?> params) Add all provided parameters without replacing any existing values.voidaddPart(jakarta.servlet.http.Part part) voidaddPreferredLocale(Locale locale) Add a new preferred locale, before any existing locales.voidaddUserRole(String role) booleanauthenticate(jakarta.servlet.http.HttpServletResponse response) The implementation of this (Servlet 3.1+) method callsMockHttpSession.changeSessionId()if the session is a mock session.protected voidCheck whether this request is still active (that is, not completed yet), throwing an IllegalStateException if not active anymore.voidClear all of this request's attributes.voidclose()Mark this request as completed, keeping its state.@Nullable jakarta.servlet.AsyncContextgetAttribute(String name) byte @Nullable []Get the content of the request body as a byte array.Get the content of the request body as aString, using the configured character encoding.intlongjakarta.servlet.http.Cookie @Nullable []longgetDateHeader(String name) Return the long timestamp for the date header with the givenname.jakarta.servlet.DispatcherTypegetHeaders(String name) jakarta.servlet.http.HttpServletMappingjakarta.servlet.ServletInputStreamintgetIntHeader(String name) Return the first preferred locale configured in this mock request.Return an enumeration of the preferred locales configured in this mock request.intgetParameter(String name) getParameterValues(String name) @Nullable jakarta.servlet.http.PartCollection<jakarta.servlet.http.Part> getParts()intjakarta.servlet.RequestDispatchergetRequestDispatcher(String path) intjakarta.servlet.ServletConnectionjakarta.servlet.ServletContextReturn the ServletContext that this request is associated with.@Nullable jakarta.servlet.http.HttpSession@Nullable jakarta.servlet.http.HttpSessiongetSession(boolean create) Return the original URI template used to prepare the request, if any.voidInvalidate this request, clearing its state.booleanisActive()Return whether this request is still active (that is, not completed yet).booleanbooleanbooleanbooleanbooleanbooleanisSecure()booleanisUserInRole(String role) voidvoidlogout()voidRemove all existing parameters.voidremoveAttribute(String name) voidremoveHeader(String name) Remove already registered entries for the specified HTTP header, if any.voidremoveParameter(String name) Remove already registered values for the specified HTTP parameter, if any.voidsetAsyncContext(@Nullable MockAsyncContext asyncContext) voidsetAsyncStarted(boolean asyncStarted) voidsetAsyncSupported(boolean asyncSupported) voidsetAttribute(String name, @Nullable Object value) voidsetAuthType(@Nullable String authType) voidsetCharacterEncoding(@Nullable String characterEncoding) voidsetContent(byte @Nullable [] content) Set the content of the request body as a byte array.voidsetContentType(@Nullable String contentType) voidsetContextPath(String contextPath) voidsetCookies(jakarta.servlet.http.Cookie @Nullable ... cookies) voidsetDispatcherType(jakarta.servlet.DispatcherType dispatcherType) voidsetHttpServletMapping(@Nullable jakarta.servlet.http.HttpServletMapping httpServletMapping) voidsetLocalAddr(String localAddr) voidsetLocalName(String localName) voidsetLocalPort(int localPort) voidvoidsetParameter(String name, String value) Set a single value for the specified HTTP parameter.voidsetParameter(String name, String... values) Set an array of values for the specified HTTP parameter.voidsetParameters(Map<String, ?> params) Set all provided parameters replacing any existing values for the provided parameter names.voidsetPathInfo(@Nullable String pathInfo) voidsetPreferredLocales(List<Locale> locales) Set the list of preferred locales, in descending order, effectively replacing any existing locales.voidsetProtocol(String protocol) voidsetQueryString(@Nullable String queryString) voidsetRemoteAddr(String remoteAddr) voidsetRemoteHost(String remoteHost) voidsetRemotePort(int remotePort) voidsetRemoteUser(@Nullable String remoteUser) voidsetRequestedSessionId(@Nullable String requestedSessionId) voidsetRequestedSessionIdFromCookie(boolean requestedSessionIdFromCookie) voidsetRequestedSessionIdFromURL(boolean requestedSessionIdFromURL) voidsetRequestedSessionIdValid(boolean requestedSessionIdValid) voidsetRequestURI(@Nullable String requestURI) voidvoidsetSecure(boolean secure) Set the booleansecureflag indicating whether the mock request was made using a secure channel, such as HTTPS.voidsetServerName(String serverName) voidsetServerPort(int serverPort) voidsetServletPath(String servletPath) voidsetSession(jakarta.servlet.http.HttpSession session) voidsetUriTemplate(@Nullable String uriTemplate) Set the original URI template used to prepare the request, if any.voidsetUserPrincipal(@Nullable Principal userPrincipal) jakarta.servlet.AsyncContextjakarta.servlet.AsyncContextstartAsync(jakarta.servlet.ServletRequest request, @Nullable jakarta.servlet.ServletResponse response) <T extends jakarta.servlet.http.HttpUpgradeHandler>
TMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface jakarta.servlet.http.HttpServletRequest
getTrailerFields, isTrailerFieldsReady, newPushBuilderMethods inherited from interface jakarta.servlet.ServletRequest
setCharacterEncoding
-
Field Details
-
DEFAULT_PROTOCOL
The default protocol: 'HTTP/1.1'.- Since:
- 4.3.7
- See Also:
-
DEFAULT_SCHEME
-
DEFAULT_SERVER_ADDR
-
DEFAULT_SERVER_NAME
-
DEFAULT_SERVER_PORT
public static final int DEFAULT_SERVER_PORTThe default server port: '80'.- See Also:
-
DEFAULT_REMOTE_ADDR
-
DEFAULT_REMOTE_HOST
-
-
Constructor Details
-
MockHttpServletRequest
public MockHttpServletRequest()Create a newMockHttpServletRequestwith a defaultMockServletContext.- See Also:
-
MockHttpServletRequest
Create a newMockHttpServletRequestwith a defaultMockServletContext.- Parameters:
method- the request method (may benull)requestURI- the request URI (may benull)- See Also:
-
MockHttpServletRequest
Create a newMockHttpServletRequestwith the suppliedServletContext.- Parameters:
servletContext- the ServletContext that the request runs in (may benullto use a defaultMockServletContext)- See Also:
-
MockHttpServletRequest
public MockHttpServletRequest(@Nullable jakarta.servlet.ServletContext servletContext, @Nullable String method, @Nullable String requestURI) Create a newMockHttpServletRequestwith the suppliedServletContext,method, andrequestURI.The preferred locale will be set to
Locale.ENGLISH.- Parameters:
servletContext- the ServletContext that the request runs in (may benullto use a defaultMockServletContext)method- the request method (may benull)requestURI- the request URI (may benull)- See Also:
-
-
Method Details
-
getServletContext
public jakarta.servlet.ServletContext getServletContext()Return the ServletContext that this request is associated with. (Not available in the standard HttpServletRequest interface for some reason.)- Specified by:
getServletContextin interfacejakarta.servlet.ServletRequest
-
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
Check whether this request is still active (that is, not completed yet), throwing an IllegalStateException if not active anymore.- Throws:
IllegalStateException
-
getAttribute
-
getAttributeNames
- Specified by:
getAttributeNamesin interfacejakarta.servlet.ServletRequest
-
getCharacterEncoding
-
setCharacterEncoding
-
setContent
Set the content of the request body as a byte array.If the supplied byte array represents text such as XML or JSON, the
character encodingshould typically be set as well.- See Also:
-
getContentAsByteArray
Get the content of the request body as a byte array.- Returns:
- the content as a byte array (potentially
null) - Since:
- 5.0
- See Also:
-
getContentAsString
public @Nullable String getContentAsString() throws IllegalStateException, UnsupportedEncodingExceptionGet the content of the request body as aString, using the configured character encoding.- Returns:
- the content as a
String, potentiallynull - Throws:
IllegalStateException- if the character encoding has not been setUnsupportedEncodingException- if the character encoding is not supported- Since:
- 5.0
- See Also:
-
getContentLength
public int getContentLength()- Specified by:
getContentLengthin interfacejakarta.servlet.ServletRequest
-
getContentLengthLong
public long getContentLengthLong()- Specified by:
getContentLengthLongin interfacejakarta.servlet.ServletRequest
-
setContentType
-
getContentType
-
getInputStream
public jakarta.servlet.ServletInputStream getInputStream()- Specified by:
getInputStreamin interfacejakarta.servlet.ServletRequest
-
setParameter
-
setParameter
-
setParameters
Set all provided parameters replacing any existing values for the provided parameter names. To add without replacing existing values, useaddParameters(java.util.Map). -
addParameter
-
addParameter
-
addParameters
Add all provided parameters without replacing any existing values. To replace existing values, usesetParameters(java.util.Map). -
removeParameter
Remove already registered values for the specified HTTP parameter, if any. -
removeAllParameters
public void removeAllParameters()Remove all existing parameters. -
getParameter
-
getParameterNames
- Specified by:
getParameterNamesin interfacejakarta.servlet.ServletRequest
-
getParameterValues
-
getParameterMap
-
setProtocol
-
getProtocol
- Specified by:
getProtocolin interfacejakarta.servlet.ServletRequest
-
setScheme
-
getScheme
- Specified by:
getSchemein interfacejakarta.servlet.ServletRequest
-
setServerName
-
getServerName
- Specified by:
getServerNamein interfacejakarta.servlet.ServletRequest
-
setServerPort
public void setServerPort(int serverPort) -
getServerPort
public int getServerPort()- Specified by:
getServerPortin interfacejakarta.servlet.ServletRequest
-
getReader
- Specified by:
getReaderin interfacejakarta.servlet.ServletRequest- Throws:
UnsupportedEncodingException
-
setRemoteAddr
-
getRemoteAddr
- Specified by:
getRemoteAddrin interfacejakarta.servlet.ServletRequest
-
setRemoteHost
-
getRemoteHost
- Specified by:
getRemoteHostin interfacejakarta.servlet.ServletRequest
-
setAttribute
-
removeAttribute
- Specified by:
removeAttributein interfacejakarta.servlet.ServletRequest
-
clearAttributes
public void clearAttributes()Clear all of this request's attributes. -
addPreferredLocale
Add a new preferred locale, before any existing locales.- See Also:
-
setPreferredLocales
-
getLocale
Return the first preferred locale configured in this mock request.If no locales have been explicitly configured, the default, preferred
Localefor the server mocked by this request isLocale.ENGLISH.In contrast to the Servlet specification, this mock implementation does not take into consideration any locales specified via the
Accept-Languageheader.- Specified by:
getLocalein interfacejakarta.servlet.ServletRequest- See Also:
-
getLocales
Return an enumeration of the preferred locales configured in this mock request.If no locales have been explicitly configured, the default, preferred
Localefor the server mocked by this request isLocale.ENGLISH.In contrast to the Servlet specification, this mock implementation does not take into consideration any locales specified via the
Accept-Languageheader.- Specified by:
getLocalesin interfacejakarta.servlet.ServletRequest- See Also:
-
setSecure
public void setSecure(boolean secure) Set the booleansecureflag indicating whether the mock request was made using a secure channel, such as HTTPS.- See Also:
-
isSecure
-
getRequestDispatcher
- Specified by:
getRequestDispatcherin interfacejakarta.servlet.ServletRequest
-
setRemotePort
public void setRemotePort(int remotePort) -
getRemotePort
public int getRemotePort()- Specified by:
getRemotePortin interfacejakarta.servlet.ServletRequest
-
setLocalName
-
getLocalName
- Specified by:
getLocalNamein interfacejakarta.servlet.ServletRequest
-
setLocalAddr
-
getLocalAddr
- Specified by:
getLocalAddrin interfacejakarta.servlet.ServletRequest
-
setLocalPort
public void setLocalPort(int localPort) -
getLocalPort
public int getLocalPort()- Specified by:
getLocalPortin interfacejakarta.servlet.ServletRequest
-
startAsync
public jakarta.servlet.AsyncContext startAsync()- Specified by:
startAsyncin interfacejakarta.servlet.ServletRequest
-
startAsync
public jakarta.servlet.AsyncContext startAsync(jakarta.servlet.ServletRequest request, @Nullable jakarta.servlet.ServletResponse response) - Specified by:
startAsyncin interfacejakarta.servlet.ServletRequest
-
setAsyncStarted
public void setAsyncStarted(boolean asyncStarted) -
isAsyncStarted
public boolean isAsyncStarted()- Specified by:
isAsyncStartedin interfacejakarta.servlet.ServletRequest
-
setAsyncSupported
public void setAsyncSupported(boolean asyncSupported) -
isAsyncSupported
public boolean isAsyncSupported()- Specified by:
isAsyncSupportedin interfacejakarta.servlet.ServletRequest
-
setAsyncContext
-
getAsyncContext
- Specified by:
getAsyncContextin interfacejakarta.servlet.ServletRequest
-
setDispatcherType
public void setDispatcherType(jakarta.servlet.DispatcherType dispatcherType) -
getDispatcherType
public jakarta.servlet.DispatcherType getDispatcherType()- Specified by:
getDispatcherTypein interfacejakarta.servlet.ServletRequest
-
getRequestId
- Specified by:
getRequestIdin interfacejakarta.servlet.ServletRequest
-
getProtocolRequestId
- Specified by:
getProtocolRequestIdin interfacejakarta.servlet.ServletRequest
-
getServletConnection
public jakarta.servlet.ServletConnection getServletConnection()- Specified by:
getServletConnectionin interfacejakarta.servlet.ServletRequest
-
setAuthType
-
getAuthType
-
setCookies
-
getCookies
- Specified by:
getCookiesin interfacejakarta.servlet.http.HttpServletRequest
-
addHeader
Add an HTTP header entry for the given name.While this method can take any
Objectas a parameter, it is recommended to use the following types:- String or any Object to be converted using
toString(); seegetHeader(String). - String, Number, or Date for date headers; see
getDateHeader(String). - String or Number for integer headers; see
getIntHeader(String). String[]orCollection<String>for multiple values; seegetHeaders(String).
- See Also:
- String or any Object to be converted using
-
removeHeader
Remove already registered entries for the specified HTTP header, if any.- Since:
- 4.3.20
-
getDateHeader
Return the long timestamp for the date header with the givenname.If the internal value representation is a String, this method will try to parse it as a date using the supported date formats:
- "EEE, dd MMM yyyy HH:mm:ss zzz"
- "EEE, dd-MMM-yy HH:mm:ss zzz"
- "EEE MMM dd HH:mm:ss yyyy"
- Specified by:
getDateHeaderin interfacejakarta.servlet.http.HttpServletRequest- Parameters:
name- the header name- See Also:
-
getHeader
-
getHeaders
- Specified by:
getHeadersin interfacejakarta.servlet.http.HttpServletRequest
-
getHeaderNames
- Specified by:
getHeaderNamesin interfacejakarta.servlet.http.HttpServletRequest
-
getIntHeader
- Specified by:
getIntHeaderin interfacejakarta.servlet.http.HttpServletRequest
-
setMethod
-
getMethod
-
setPathInfo
-
getPathInfo
-
getPathTranslated
-
setContextPath
-
getContextPath
- Specified by:
getContextPathin interfacejakarta.servlet.http.HttpServletRequest
-
setQueryString
-
getQueryString
-
setRemoteUser
-
getRemoteUser
-
addUserRole
-
isUserInRole
- Specified by:
isUserInRolein interfacejakarta.servlet.http.HttpServletRequest
-
setUserPrincipal
-
getUserPrincipal
-
setRequestedSessionId
-
getRequestedSessionId
-
setUriTemplate
-
getUriTemplate
-
setRequestURI
-
getRequestURI
-
getRequestURL
- Specified by:
getRequestURLin interfacejakarta.servlet.http.HttpServletRequest
-
setServletPath
-
getServletPath
- Specified by:
getServletPathin interfacejakarta.servlet.http.HttpServletRequest
-
setSession
public void setSession(jakarta.servlet.http.HttpSession session) -
getSession
- Specified by:
getSessionin interfacejakarta.servlet.http.HttpServletRequest
-
getSession
- Specified by:
getSessionin interfacejakarta.servlet.http.HttpServletRequest
-
changeSessionId
The implementation of this (Servlet 3.1+) method callsMockHttpSession.changeSessionId()if the session is a mock session. Otherwise it simply returns the current session id.- Specified by:
changeSessionIdin interfacejakarta.servlet.http.HttpServletRequest- Since:
- 4.0.3
-
setRequestedSessionIdValid
public void setRequestedSessionIdValid(boolean requestedSessionIdValid) -
isRequestedSessionIdValid
public boolean isRequestedSessionIdValid()- Specified by:
isRequestedSessionIdValidin interfacejakarta.servlet.http.HttpServletRequest
-
setRequestedSessionIdFromCookie
public void setRequestedSessionIdFromCookie(boolean requestedSessionIdFromCookie) -
isRequestedSessionIdFromCookie
public boolean isRequestedSessionIdFromCookie()- Specified by:
isRequestedSessionIdFromCookiein interfacejakarta.servlet.http.HttpServletRequest
-
setRequestedSessionIdFromURL
public void setRequestedSessionIdFromURL(boolean requestedSessionIdFromURL) -
isRequestedSessionIdFromURL
public boolean isRequestedSessionIdFromURL()- Specified by:
isRequestedSessionIdFromURLin interfacejakarta.servlet.http.HttpServletRequest
-
authenticate
public boolean authenticate(jakarta.servlet.http.HttpServletResponse response) throws IOException, jakarta.servlet.ServletException - Specified by:
authenticatein interfacejakarta.servlet.http.HttpServletRequest- Throws:
IOExceptionjakarta.servlet.ServletException
-
login
-
logout
public void logout() throws jakarta.servlet.ServletException- Specified by:
logoutin interfacejakarta.servlet.http.HttpServletRequest- Throws:
jakarta.servlet.ServletException
-
addPart
public void addPart(jakarta.servlet.http.Part part) -
getPart
public @Nullable jakarta.servlet.http.Part getPart(String name) throws IOException, jakarta.servlet.ServletException - Specified by:
getPartin interfacejakarta.servlet.http.HttpServletRequest- Throws:
IOExceptionjakarta.servlet.ServletException
-
getParts
public Collection<jakarta.servlet.http.Part> getParts() throws IOException, jakarta.servlet.ServletException- Specified by:
getPartsin interfacejakarta.servlet.http.HttpServletRequest- Throws:
IOExceptionjakarta.servlet.ServletException
-
setHttpServletMapping
public void setHttpServletMapping(@Nullable jakarta.servlet.http.HttpServletMapping httpServletMapping) -
getHttpServletMapping
public jakarta.servlet.http.HttpServletMapping getHttpServletMapping()- Specified by:
getHttpServletMappingin interfacejakarta.servlet.http.HttpServletRequest
-
upgrade
public <T extends jakarta.servlet.http.HttpUpgradeHandler> T upgrade(Class<T> handlerClass) throws IOException, jakarta.servlet.ServletException - Specified by:
upgradein interfacejakarta.servlet.http.HttpServletRequest- Throws:
IOExceptionjakarta.servlet.ServletException
-