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.HttpServletRequestWrapper
A wrapper for
multipart HttpServletRequests that preserve their mulitpart parts,
meaning the parts can be accessed multiple times during the entire request scope and performs immediate malware
scanning upon parts parsing.- Since:
- 8.0.0
- Author:
- XIMA MEDIA GmbH, Dresden
-
Field Summary
Fields inherited from interface javax.servlet.http.HttpServletRequest
BASIC_AUTH, CLIENT_CERT_AUTH, DIGEST_AUTH, FORM_AUTH -
Constructor Summary
ConstructorsConstructorDescriptionMultipartPreservingRequest(javax.servlet.http.HttpServletRequest request) Constructor for the request wrapper. -
Method Summary
Modifier and TypeMethodDescriptionstatic 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>Returns the file items of thismultipartcontent request.getParameter(String name) String[]getParameterValues(String name) javax.servlet.http.PartCollection<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, upgradeMethods 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, startAsyncMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods 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 Details
-
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 Details
-
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
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
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
- Specified by:
getParameterMapin interfacejavax.servlet.ServletRequest- Overrides:
getParameterMapin classjavax.servlet.ServletRequestWrapper
-
getParameterNames
- Specified by:
getParameterNamesin interfacejavax.servlet.ServletRequest- Overrides:
getParameterNamesin classjavax.servlet.ServletRequestWrapper
-
getParameterValues
- Specified by:
getParameterValuesin interfacejavax.servlet.ServletRequest- Overrides:
getParameterValuesin classjavax.servlet.ServletRequestWrapper
-
getParameter
- Specified by:
getParameterin interfacejavax.servlet.ServletRequest- Overrides:
getParameterin classjavax.servlet.ServletRequestWrapper
-
getFileItems
Returns the file items of thismultipartcontent request.- Returns:
- parsed file items of this request.
-