Package org.springframework.web.multipart.support

# Class StandardMultipartHttpServletRequest

java.lang.Object
jakarta.servlet.ServletRequestWrapper
jakarta.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 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 jakarta.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

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 for the specified part of the multipart request.
`Map<String,String[]>`
`getParameterMap()`
`Enumeration<String>`
`getParameterNames()`
`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 jakarta.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, isRequestedSessionIdValid, isTrailerFieldsReady, isUserInRole, login, logout, newPushBuilder, upgrade`

### Methods inherited from class jakarta.servlet.ServletRequestWrapper

`getAsyncContext, getAttribute, getAttributeNames, getCharacterEncoding, getContentLength, getContentLengthLong, getContentType, getDispatcherType, getInputStream, getLocalAddr, getLocale, getLocales, getLocalName, getLocalPort, getParameter, getParameterValues, getProtocol, getProtocolRequestId, getReader, getRemoteAddr, getRemoteHost, getRemotePort, getRequestDispatcher, getRequestId, getScheme, getServerName, getServerPort, getServletConnection, 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 jakarta.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, isRequestedSessionIdValid, isTrailerFieldsReady, isUserInRole, login, logout, newPushBuilder, upgrade`

### Methods inherited from interface jakarta.servlet.ServletRequest

`getAsyncContext, getAttribute, getAttributeNames, getCharacterEncoding, getContentLength, getContentLengthLong, getContentType, getDispatcherType, getInputStream, getLocalAddr, getLocale, getLocales, getLocalName, getLocalPort, getParameter, getParameterValues, getProtocol, getProtocolRequestId, getReader, getRemoteAddr, getRemoteHost, getRemotePort, getRequestDispatcher, getRequestId, getScheme, getServerName, getServerPort, getServletConnection, getServletContext, isAsyncStarted, isAsyncSupported, isSecure, removeAttribute, setAttribute, setCharacterEncoding, startAsync, startAsync`

## Constructor Details

### 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 wrap
  `lazyParsing` - 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 Details

### 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 class `AbstractMultipartHttpServletRequest`

### getParameterNames

public Enumeration<String> getParameterNames()

Specified by:
  `getParameterNames` in interface `ServletRequest`
Overrides:
  `getParameterNames` in class `ServletRequestWrapper`

### getParameterMap

public Map<String,String[]> getParameterMap()

Specified by:
  `getParameterMap` in interface `ServletRequest`
Overrides:
  `getParameterMap` in class `ServletRequestWrapper`

### getMultipartContentType

@Nullable 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

@Nullable public HttpHeaders getMultipartHeaders(String paramOrFileName)
Description copied from interface: `MultipartHttpServletRequest`
Return the headers for the specified part of the multipart request.

If the underlying implementation supports access to part headers, then all headers are returned. Otherwise, for example, for a file upload, the returned headers may expose a 'Content-Type' if available.