org.springframework.mock.web

## Class MockMultipartHttpServletRequest

- java.lang.Object
- - org.springframework.mock.web.MockHttpServletRequest
  - - org.springframework.mock.web.MockMultipartHttpServletRequest

All Implemented Interfaces:
  HttpServletRequest, ServletRequest, MultipartHttpServletRequest, MultipartRequest

    public class MockMultipartHttpServletRequest
    extends MockHttpServletRequest
    implements MultipartHttpServletRequest

Mock implementation of the `MultipartHttpServletRequest` interface.

Useful for testing application controllers that access multipart uploads. The `MockMultipartFile` can be used to populate these mock requests with files.

Since:
  2.0
Author:
  Juergen Hoeller, Eric Crampton, Arjen Poutsma
See Also:
  `MockMultipartFile`

### Field Summary

### Fields inherited from class org.springframework.mock.web.MockHttpServletRequest

`DEFAULT_PROTOCOL, DEFAULT_REMOTE_ADDR, DEFAULT_REMOTE_HOST, DEFAULT_SERVER_ADDR, DEFAULT_SERVER_NAME, DEFAULT_SERVER_PORT`

### Fields inherited from interface javax.servlet.http.HttpServletRequest

`BASIC_AUTH, CLIENT_CERT_AUTH, DIGEST_AUTH, FORM_AUTH`

### Constructor Summary

Constructors
Constructor and Description
`MockMultipartHttpServletRequest()`

### Method Summary

Methods
`void` `addFile(MultipartFile file)` Add a file to this request.
`MultipartFile` `getFile(String name)` Return the contents plus description of an uploaded file in this request, or `null` if it does not exist.
`Map<String,MultipartFile>` `getFileMap()` Return a `Map` of the multipart files contained in this request.
`Iterator<String>` `getFileNames()` Return an `Iterator` of String objects containing the parameter names of the multipart files contained in this request.
`List<MultipartFile>` `getFiles(String name)` Return the contents plus description of uploaded files in this request, or an empty list if it does not exist.
`MultiValueMap<String,MultipartFile>` `getMultiFileMap()` Return a `MultiValueMap` of the multipart files contained in this request.
`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.
`HttpHeaders` `getRequestHeaders()` Return this request's headers as a convenient HttpHeaders instance.
`HttpMethod` `getRequestMethod()` Return this request's method as a convenient HttpMethod instance.

### Methods inherited from class org.springframework.mock.web.MockHttpServletRequest

`addHeader, addParameter, addParameter, addParameters, addPreferredLocale, addUserRole, authenticate, checkActive, clearAttributes, close, getAttribute, getAttributeNames, getAuthType, getCharacterEncoding, getContentLength, getContentType, getContextPath, getCookies, getDateHeader, getHeader, getHeaderNames, getHeaders, getInputStream, getIntHeader, getLocalAddr, getLocale, getLocales, getLocalName, getLocalPort, getMethod, getParameter, getParameterMap, getParameterNames, getParameterValues, getPathInfo, getPathTranslated, getProtocol, getQueryString, getReader, getRealPath, getRemoteAddr, getRemoteHost, getRemotePort, getRemoteUser, getRequestDispatcher, getRequestedSessionId, getRequestURI, getRequestURL, getScheme, getServerName, getServerPort, getServletContext, getServletPath, getSession, getSession, getUserPrincipal, invalidate, isActive, isRequestedSessionIdFromCookie, isRequestedSessionIdFromUrl, isRequestedSessionIdFromURL, isRequestedSessionIdValid, isSecure, isUserInRole, login, logout, removeAllParameters, removeAttribute, removeParameter, setAttribute, setAuthType, setCharacterEncoding, setContent, setContentType, setContextPath, setCookies, setLocalAddr, setLocalName, setLocalPort, setMethod, setParameter, setParameter, setParameters, setPathInfo, setPreferredLocales, setProtocol, setQueryString, setRemoteAddr, setRemoteHost, setRemotePort, setRemoteUser, setRequestedSessionId, setRequestedSessionIdFromCookie, setRequestedSessionIdFromURL, setRequestedSessionIdValid, setRequestURI, setScheme, setSecure, setServerName, setServerPort, setServletPath, setSession, setUserPrincipal`

### 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, getAuthType, getContextPath, getCookies, getDateHeader, getHeader, getHeaderNames, getHeaders, getIntHeader, getMethod, getPart, getParts, getPathInfo, getPathTranslated, getQueryString, getRemoteUser, getRequestedSessionId, getRequestURI, getRequestURL, getServletPath, getSession, getSession, getUserPrincipal, isRequestedSessionIdFromCookie, isRequestedSessionIdFromUrl, isRequestedSessionIdFromURL, isRequestedSessionIdValid, isUserInRole, login, logout`

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

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

### Constructor Detail

#### MockMultipartHttpServletRequest

    public MockMultipartHttpServletRequest()

### Method Detail

#### addFile

    public void addFile(MultipartFile file)

Add a file to this request. The parameter name from the multipart form is taken from the `MultipartFile.getName()`.

Parameters:
  `file` - multipart file to be added

#### getFileNames

    public Iterator<String> getFileNames()

Description copied from interface: `MultipartRequest`
Return an `Iterator` of String objects containing the parameter names of the multipart files contained in this request. These are the field names of the form (like with normal parameters), not the original file names.

Specified by:
  `getFileNames` in interface `MultipartRequest`
Returns:
  the names of the files

#### getFile

    public MultipartFile getFile(String name)

Description copied from interface: `MultipartRequest`
Return the contents plus description of an uploaded file in this request, or `null` if it does not exist.

Specified by:
  `getFile` in interface `MultipartRequest`
Parameters:
  `name` - a String specifying the parameter name of the multipart file
Returns:
  the uploaded content in the form of a `MultipartFile` object

#### getFiles

    public List<MultipartFile> getFiles(String name)

Description copied from interface: `MultipartRequest`
Return the contents plus description of uploaded files in this request, or an empty list if it does not exist.

Specified by:
  `getFiles` in interface `MultipartRequest`
Parameters:
  `name` - a String specifying the parameter name of the multipart file
Returns:
  the uploaded content in the form of a `MultipartFile` list

#### getFileMap

    public Map<String,MultipartFile> getFileMap()

Description copied from interface: `MultipartRequest`
Return a `Map` of the multipart files contained in this request.

Specified by:
  `getFileMap` in interface `MultipartRequest`
Returns:
  a map containing the parameter names as keys, and the `MultipartFile` objects as values

#### getMultiFileMap

    public MultiValueMap<String,MultipartFile> getMultiFileMap()

Description copied from interface: `MultipartRequest`
Return a `MultiValueMap` of the multipart files contained in this request.

Specified by:
  `getMultiFileMap` in interface `MultipartRequest`
Returns:
  a map containing the parameter names as keys, and a list of `MultipartFile` objects as values

#### getMultipartContentType

    public String getMultipartContentType(String paramOrFileName)

Description copied from interface: `MultipartRequest`
Determine the content type of the specified request part.

Specified by:
  `getMultipartContentType` in interface `MultipartRequest`
Parameters:
  `paramOrFileName` - the name of the part
Returns:
  the associated content type, or `null` if not defined

#### getRequestMethod

    public HttpMethod getRequestMethod()

Description copied from interface: `MultipartHttpServletRequest`
Return this request's method as a convenient HttpMethod instance.

Specified by:
  `getRequestMethod` in interface `MultipartHttpServletRequest`

#### getRequestHeaders

    public HttpHeaders getRequestHeaders()

Description copied from interface: `MultipartHttpServletRequest`
Return this request's headers as a convenient HttpHeaders instance.

Specified by:
  `getRequestHeaders` in interface `MultipartHttpServletRequest`

#### 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.

Specified by:
  `getMultipartHeaders` in interface `MultipartHttpServletRequest`