Class StandardMultipartHttpServletRequest
- java.lang.Object
- javax.servlet.ServletRequestWrapper
- javax.servlet.http.HttpServletRequestWrapper
- org.springframework.web.multipart.support.AbstractMultipartHttpServletRequest
- org.springframework.web.multipart.support.StandardMultipartHttpServletRequest
- All Implemented Interfaces:
HttpServletRequest
,ServletRequest
,MultipartHttpServletRequest
,MultipartRequest
public class StandardMultipartHttpServletRequest extends AbstractMultipartHttpServletRequest
Spring MultipartHttpServletRequest adapter, wrapping a Servlet 3.0 HttpServletRequest and its Part objects. Parameters get exposed through the native request's getParameter methods - without any custom processing on our side.- Since:
- 3.1
- Author:
- Juergen Hoeller, Rossen Stoyanchev
- See Also:
StandardServletMultipartResolver
Field Summary
Fields inherited from interface javax.servlet.http.HttpServletRequest
BASIC_AUTH, CLIENT_CERT_AUTH, DIGEST_AUTH, FORM_AUTH
Constructor Summary
Constructors Constructor Description StandardMultipartHttpServletRequest(HttpServletRequest request)
Create a new StandardMultipartHttpServletRequest wrapper for the given request, immediately parsing the multipart content.StandardMultipartHttpServletRequest(HttpServletRequest request, boolean lazyParsing)
Create a new StandardMultipartHttpServletRequest wrapper for the given request.
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.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.protected void
handleParseFailure(Throwable ex)
protected void
initializeMultipart()
Lazily initialize the multipart request, if possible.Methods inherited from class org.springframework.web.multipart.support.AbstractMultipartHttpServletRequest
getFile, getFileMap, getFileNames, getFiles, getMultiFileMap, getMultipartFiles, getRequest, getRequestHeaders, getRequestMethod, 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, getParameter, getParameterValues, 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, getParameter, getParameterValues, getProtocol, getReader, getRealPath, getRemoteAddr, getRemoteHost, getRemotePort, getRequestDispatcher, getScheme, getServerName, getServerPort, getServletContext, isAsyncStarted, isAsyncSupported, isSecure, removeAttribute, setAttribute, setCharacterEncoding, startAsync, startAsync
Constructor Detail
StandardMultipartHttpServletRequest
public StandardMultipartHttpServletRequest(HttpServletRequest request) throws MultipartException
Create a new StandardMultipartHttpServletRequest wrapper for the given request, immediately parsing the multipart content.- Parameters:
request
- the servlet request to wrap- Throws:
MultipartException
- if parsing failed
StandardMultipartHttpServletRequest
public StandardMultipartHttpServletRequest(HttpServletRequest request, boolean lazyParsing) throws MultipartException
Create a new StandardMultipartHttpServletRequest wrapper for the given request.- Parameters:
request
- the servlet request to wraplazyParsing
- whether multipart parsing should be triggered lazily on first access of multipart files or parameters- Throws:
MultipartException
- if an immediate parsing attempt failed- Since:
- 3.2.9
Method Detail
handleParseFailure
protected void handleParseFailure(Throwable ex)
initializeMultipart
protected void initializeMultipart()
Description copied from class:AbstractMultipartHttpServletRequest
Lazily initialize the multipart request, if possible. Only called if not already eagerly initialized.- Overrides:
initializeMultipart
in classAbstractMultipartHttpServletRequest
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.