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

    Constructors
    Constructor
    Description
    MultipartPreservingRequest(javax.servlet.http.HttpServletRequest request)
    Constructor for the request wrapper.
  • Method Summary

    Modifier and Type
    Method
    Description
    Gets the current instance of MultipartPreservingRequest of this request context if it exists.
    getCurrent(javax.servlet.http.HttpServletRequest request)
    Gets the current instance of MultipartPreservingRequest of this request if it exists.
    List<org.apache.commons.fileupload.FileItem>
    Returns the file items of this multipart content request.
     
     
     
     
    javax.servlet.http.Part
     
    Collection<javax.servlet.http.Part>
     
    static javax.servlet.http.HttpServletRequest
    wrap(javax.servlet.http.HttpServletRequest request)
    Wraps the request if it is a multipart content POST request and not already a MultipartPreservingRequest.

    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 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 a multipart POST request.
  • Method Details

    • wrap

      public static javax.servlet.http.HttpServletRequest wrap(javax.servlet.http.HttpServletRequest request)
      Wraps the request if it is a multipart content POST request and not already a MultipartPreservingRequest.
      Parameters:
      request - to wrap.
      Returns:
      the wrapped request or the initial request if it is no multipart content POST request.
    • getCurrent

      public static MultipartPreservingRequest getCurrent(javax.servlet.http.HttpServletRequest request)
      Gets the current instance of MultipartPreservingRequest of this request if it exists.
      Parameters:
      request - to get the current instance of MultipartPreservingRequest for.
      Returns:
      the current instance of MultipartPreservingRequest or null if it does not exist.
    • getCurrent

      public static MultipartPreservingRequest getCurrent(IRequestContext requestCtx)
      Gets the current instance of MultipartPreservingRequest of this request context if it exists.
      Parameters:
      requestCtx - to get the current instance of MultipartPreservingRequest for.
      Returns:
      the current instance of MultipartPreservingRequest or null if it does not exist.
    • getParts

      public Collection<javax.servlet.http.Part> getParts() throws IOException, javax.servlet.ServletException
      Specified by:
      getParts in interface javax.servlet.http.HttpServletRequest
      Overrides:
      getParts in class javax.servlet.http.HttpServletRequestWrapper
      Throws:
      IOException
      javax.servlet.ServletException
    • getPart

      public javax.servlet.http.Part getPart(String name) throws IOException, javax.servlet.ServletException
      Specified by:
      getPart in interface javax.servlet.http.HttpServletRequest
      Overrides:
      getPart in class javax.servlet.http.HttpServletRequestWrapper
      Throws:
      IOException
      javax.servlet.ServletException
    • getParameterMap

      public Map<String,String[]> getParameterMap()
      Specified by:
      getParameterMap in interface javax.servlet.ServletRequest
      Overrides:
      getParameterMap in class javax.servlet.ServletRequestWrapper
    • getParameterNames

      public Enumeration<String> getParameterNames()
      Specified by:
      getParameterNames in interface javax.servlet.ServletRequest
      Overrides:
      getParameterNames in class javax.servlet.ServletRequestWrapper
    • getParameterValues

      public String[] getParameterValues(String name)
      Specified by:
      getParameterValues in interface javax.servlet.ServletRequest
      Overrides:
      getParameterValues in class javax.servlet.ServletRequestWrapper
    • getParameter

      public String getParameter(String name)
      Specified by:
      getParameter in interface javax.servlet.ServletRequest
      Overrides:
      getParameter in class javax.servlet.ServletRequestWrapper
    • getFileItems

      public List<org.apache.commons.fileupload.FileItem> getFileItems()
      Returns the file items of this multipart content request.
      Returns:
      parsed file items of this request.