Package de.xima.fc.http
Class MultipartPreservingRequest
- java.lang.Object
-
- javax.servlet.ServletRequestWrapper
-
- javax.servlet.http.HttpServletRequestWrapper
-
- de.xima.fc.http.MultipartPreservingRequest
-
- All Implemented Interfaces:
javax.servlet.http.HttpServletRequest,javax.servlet.ServletRequest
public class MultipartPreservingRequest extends javax.servlet.http.HttpServletRequestWrapperA wrapper formultipartHttpServletRequests that preserves theirmulitpartparts, meaning the parts can be accessed multiple times during the entire request scope.This wrapper also performs malware scanning immediately when the parts are parsed.
- Since:
- 8.0.0
- Author:
- XIMA MEDIA GmbH, Dresden
-
-
Constructor Summary
Constructors Constructor Description MultipartPreservingRequest(javax.servlet.http.HttpServletRequest request)Constructor for the request wrapper.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static MultipartPreservingRequestgetCurrent(IRequestContext requestCtx)Gets the current instance ofMultipartPreservingRequestof this request context if it exists.static MultipartPreservingRequestgetCurrent(javax.servlet.http.HttpServletRequest request)Gets the current instance ofMultipartPreservingRequestof this request if it exists.List<org.apache.commons.fileupload.FileItem>getFileItems()Returns the file items of thismultipartcontent request.StringgetParameter(String name)Map<String,String[]>getParameterMap()Enumeration<String>getParameterNames()String[]getParameterValues(String name)javax.servlet.http.PartgetPart(String name)Collection<javax.servlet.http.Part>getParts()static javax.servlet.http.HttpServletRequestwrap(javax.servlet.http.HttpServletRequest request)Wraps the request if it is amultipartcontentPOSTrequest and not already aMultipartPreservingRequest.-
Methods inherited from class javax.servlet.http.HttpServletRequestWrapper
authenticate, changeSessionId, getAuthType, getContextPath, getCookies, getDateHeader, getHeader, getHeaderNames, getHeaders, getHttpServletMapping, getIntHeader, getMethod, 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, getRequest, 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.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
-
MultipartPreservingRequest
public MultipartPreservingRequest(javax.servlet.http.HttpServletRequest request)
Constructor for the request wrapper.- Parameters:
request- to be wrapped.- Throws:
IllegalArgumentException- if the request is not amultipartPOST request.
-
-
Method Detail
-
wrap
public static javax.servlet.http.HttpServletRequest wrap(javax.servlet.http.HttpServletRequest request)
Wraps the request if it is amultipartcontentPOSTrequest and not already aMultipartPreservingRequest.- Parameters:
request- to wrap.- Returns:
- the wrapped request or the initial request if it is no
multipartcontentPOSTrequest.
-
getCurrent
public static MultipartPreservingRequest getCurrent(javax.servlet.http.HttpServletRequest request)
Gets the current instance ofMultipartPreservingRequestof this request if it exists.- Parameters:
request- to get the current instance ofMultipartPreservingRequestfor.- Returns:
- the current instance of
MultipartPreservingRequestornullif it does not exist.
-
getCurrent
public static MultipartPreservingRequest getCurrent(IRequestContext requestCtx)
Gets the current instance ofMultipartPreservingRequestof this request context if it exists.- Parameters:
requestCtx- to get the current instance ofMultipartPreservingRequestfor.- Returns:
- the current instance of
MultipartPreservingRequestornullif it does not exist.
-
getParts
public Collection<javax.servlet.http.Part> getParts() throws IOException, javax.servlet.ServletException
- Specified by:
getPartsin interfacejavax.servlet.http.HttpServletRequest- Overrides:
getPartsin classjavax.servlet.http.HttpServletRequestWrapper- Throws:
IOExceptionjavax.servlet.ServletException
-
getPart
public javax.servlet.http.Part getPart(String name) throws IOException, javax.servlet.ServletException
- Specified by:
getPartin interfacejavax.servlet.http.HttpServletRequest- Overrides:
getPartin classjavax.servlet.http.HttpServletRequestWrapper- Throws:
IOExceptionjavax.servlet.ServletException
-
getParameterMap
public Map<String,String[]> getParameterMap()
- Specified by:
getParameterMapin interfacejavax.servlet.ServletRequest- Overrides:
getParameterMapin classjavax.servlet.ServletRequestWrapper
-
getParameterNames
public Enumeration<String> getParameterNames()
- Specified by:
getParameterNamesin interfacejavax.servlet.ServletRequest- Overrides:
getParameterNamesin classjavax.servlet.ServletRequestWrapper
-
getParameterValues
public String[] getParameterValues(String name)
- Specified by:
getParameterValuesin interfacejavax.servlet.ServletRequest- Overrides:
getParameterValuesin classjavax.servlet.ServletRequestWrapper
-
getParameter
public String getParameter(String name)
- Specified by:
getParameterin interfacejavax.servlet.ServletRequest- Overrides:
getParameterin classjavax.servlet.ServletRequestWrapper
-
getFileItems
public List<org.apache.commons.fileupload.FileItem> getFileItems()
Returns the file items of thismultipartcontent request.- Returns:
- parsed file items of this request.
-
-