Class DefaultMultipartHttpServletRequest
- java.lang.Object
- javax.servlet.ServletRequestWrapper
- javax.servlet.http.HttpServletRequestWrapper
- org.springframework.web.multipart.support.AbstractMultipartHttpServletRequest
- org.springframework.web.multipart.support.DefaultMultipartHttpServletRequest
- All Implemented Interfaces:
HttpServletRequest
,ServletRequest
,MultipartHttpServletRequest
,MultipartRequest
public class DefaultMultipartHttpServletRequest extends AbstractMultipartHttpServletRequest
Default implementation of theMultipartHttpServletRequest
interface. Provides management of pre-generated parameter values.Used by
CommonsMultipartResolver
.- Since:
- 29.09.2003
- Author:
- Trevor D. Cook, Juergen Hoeller, Arjen Poutsma
- See Also:
MultipartResolver
Field Summary
Fields inherited from interface javax.servlet.http.HttpServletRequest
BASIC_AUTH, CLIENT_CERT_AUTH, DIGEST_AUTH, FORM_AUTH
Constructor Summary
Constructors Constructor Description DefaultMultipartHttpServletRequest(HttpServletRequest request)
Wrap the given HttpServletRequest in a MultipartHttpServletRequest.DefaultMultipartHttpServletRequest(HttpServletRequest request, MultiValueMap<String,MultipartFile> mpFiles, Map<String,String[]> mpParams, Map<String,String> mpParamContentTypes)
Wrap the given HttpServletRequest in a MultipartHttpServletRequest.
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description String
getMultipartContentType(String paramOrFileName)
Determine the content type of the specified request part.HttpHeaders
getMultipartHeaders(String paramOrFileName)
Return the headers associated with the specified part of the multipart request.protected Map<String,String>
getMultipartParameterContentTypes()
Obtain the multipart parameter content type Map for retrieval, lazily initializing it if necessary.protected Map<String,String[]>
getMultipartParameters()
Obtain the multipart parameter Map for retrieval, lazily initializing it if necessary.String
getParameter(String name)
The default behavior of this method is to return getParameter(String name) on the wrapped request object.Map<String,String[]>
getParameterMap()
The default behavior of this method is to return getParameterMap() on the wrapped request object.Enumeration<String>
getParameterNames()
The default behavior of this method is to return getParameterNames() on the wrapped request object.String[]
getParameterValues(String name)
The default behavior of this method is to return getParameterValues(String name) on the wrapped request object.protected void
setMultipartParameterContentTypes(Map<String,String> multipartParameterContentTypes)
Set a Map with parameter names as keys and content type Strings as values.protected void
setMultipartParameters(Map<String,String[]> multipartParameters)
Set a Map with parameter names as keys and String array objects as values.Methods inherited from class org.springframework.web.multipart.support.AbstractMultipartHttpServletRequest
getFile, getFileMap, getFileNames, getFiles, getMultiFileMap, getMultipartFiles, getRequest, getRequestHeaders, getRequestMethod, initializeMultipart, isResolved, setMultipartFiles
Methods inherited from class javax.servlet.http.HttpServletRequestWrapper
authenticate, changeSessionId, getAuthType, getContextPath, getCookies, getDateHeader, getHeader, getHeaderNames, getHeaders, getHttpServletMapping, getIntHeader, getMethod, getPart, getParts, getPathInfo, getPathTranslated, getQueryString, getRemoteUser, getRequestedSessionId, getRequestURI, getRequestURL, getServletPath, getSession, getSession, getTrailerFields, getUserPrincipal, isRequestedSessionIdFromCookie, isRequestedSessionIdFromUrl, isRequestedSessionIdFromURL, isRequestedSessionIdValid, isTrailerFieldsReady, isUserInRole, login, logout, newPushBuilder, upgrade
Methods inherited from class javax.servlet.ServletRequestWrapper
getAsyncContext, getAttribute, getAttributeNames, getCharacterEncoding, getContentLength, getContentLengthLong, getContentType, getDispatcherType, getInputStream, getLocalAddr, getLocale, getLocales, getLocalName, getLocalPort, getProtocol, getReader, getRealPath, getRemoteAddr, getRemoteHost, getRemotePort, getRequestDispatcher, getScheme, getServerName, getServerPort, getServletContext, isAsyncStarted, isAsyncSupported, isSecure, isWrapperFor, isWrapperFor, removeAttribute, setAttribute, setCharacterEncoding, setRequest, startAsync, startAsync
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface javax.servlet.http.HttpServletRequest
authenticate, changeSessionId, getAuthType, getContextPath, getCookies, getDateHeader, getHeader, getHeaderNames, getHeaders, getHttpServletMapping, getIntHeader, getMethod, getPart, getParts, getPathInfo, getPathTranslated, getQueryString, getRemoteUser, getRequestedSessionId, getRequestURI, getRequestURL, getServletPath, getSession, getSession, getTrailerFields, getUserPrincipal, isRequestedSessionIdFromCookie, isRequestedSessionIdFromUrl, isRequestedSessionIdFromURL, isRequestedSessionIdValid, isTrailerFieldsReady, isUserInRole, login, logout, newPushBuilder, upgrade
Methods inherited from interface javax.servlet.ServletRequest
getAsyncContext, getAttribute, getAttributeNames, getCharacterEncoding, getContentLength, getContentLengthLong, getContentType, getDispatcherType, getInputStream, getLocalAddr, getLocale, getLocales, getLocalName, getLocalPort, getProtocol, getReader, getRealPath, getRemoteAddr, getRemoteHost, getRemotePort, getRequestDispatcher, getScheme, getServerName, getServerPort, getServletContext, isAsyncStarted, isAsyncSupported, isSecure, removeAttribute, setAttribute, setCharacterEncoding, startAsync, startAsync
Constructor Detail
DefaultMultipartHttpServletRequest
public DefaultMultipartHttpServletRequest(HttpServletRequest request, MultiValueMap<String,MultipartFile> mpFiles, Map<String,String[]> mpParams, Map<String,String> mpParamContentTypes)
Wrap the given HttpServletRequest in a MultipartHttpServletRequest.- Parameters:
request
- the servlet request to wrapmpFiles
- a map of the multipart filesmpParams
- a map of the parameters to expose, with Strings as keys and String arrays as values
DefaultMultipartHttpServletRequest
public DefaultMultipartHttpServletRequest(HttpServletRequest request)
Wrap the given HttpServletRequest in a MultipartHttpServletRequest.- Parameters:
request
- the servlet request to wrap
Method Detail
getParameter
@Nullable public String getParameter(String name)
Description copied from class:javax.servlet.ServletRequestWrapper
The default behavior of this method is to return getParameter(String name) on the wrapped request object.- Specified by:
getParameter
in interfaceServletRequest
- Overrides:
getParameter
in classServletRequestWrapper
- Parameters:
name
- aString
specifying the name of the parameter- Returns:
- a
String
representing the single value of the parameter - See Also:
ServletRequest.getParameterValues(java.lang.String)
getParameterValues
public String[] getParameterValues(String name)
Description copied from class:javax.servlet.ServletRequestWrapper
The default behavior of this method is to return getParameterValues(String name) on the wrapped request object.- Specified by:
getParameterValues
in interfaceServletRequest
- Overrides:
getParameterValues
in classServletRequestWrapper
- Parameters:
name
- aString
containing the name of the parameter whose value is requested- Returns:
- an array of
String
objects containing the parameter's values - See Also:
ServletRequest.getParameter(java.lang.String)
getParameterNames
public Enumeration<String> getParameterNames()
Description copied from class:javax.servlet.ServletRequestWrapper
The default behavior of this method is to return getParameterNames() on the wrapped request object.- Specified by:
getParameterNames
in interfaceServletRequest
- Overrides:
getParameterNames
in classServletRequestWrapper
- Returns:
- an
Enumeration
ofString
objects, eachString
containing the name of a request parameter; or an emptyEnumeration
if the request has no parameters
getParameterMap
public Map<String,String[]> getParameterMap()
Description copied from class:javax.servlet.ServletRequestWrapper
The default behavior of this method is to return getParameterMap() on the wrapped request object.- Specified by:
getParameterMap
in interfaceServletRequest
- Overrides:
getParameterMap
in classServletRequestWrapper
- Returns:
- an immutable java.util.Map containing parameter names as keys and parameter values as map values. The keys in the parameter map are of type String. The values in the parameter map are of type String array.
getMultipartContentType
public String getMultipartContentType(String paramOrFileName)
Description copied from interface:MultipartRequest
Determine the content type of the specified request part.- Parameters:
paramOrFileName
- the name of the part- Returns:
- the associated content type, or
null
if not defined
getMultipartHeaders
public HttpHeaders getMultipartHeaders(String paramOrFileName)
Description copied from interface:MultipartHttpServletRequest
Return the headers associated with the specified part of the multipart request.If the underlying implementation supports access to headers, then all headers are returned. Otherwise, the returned headers will include a 'Content-Type' header at the very least.
setMultipartParameters
protected final void setMultipartParameters(Map<String,String[]> multipartParameters)
Set a Map with parameter names as keys and String array objects as values. To be invoked by subclasses on initialization.
getMultipartParameters
protected Map<String,String[]> getMultipartParameters()
Obtain the multipart parameter Map for retrieval, lazily initializing it if necessary.
setMultipartParameterContentTypes
protected final void setMultipartParameterContentTypes(Map<String,String> multipartParameterContentTypes)
Set a Map with parameter names as keys and content type Strings as values. To be invoked by subclasses on initialization.
getMultipartParameterContentTypes
protected Map<String,String> getMultipartParameterContentTypes()
Obtain the multipart parameter content type Map for retrieval, lazily initializing it if necessary.