Class 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

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      static MultipartPreservingRequest getCurrent​(IRequestContext requestCtx)
      Gets the current instance of MultipartPreservingRequest of this request context if it exists.
      static MultipartPreservingRequest getCurrent​(javax.servlet.http.HttpServletRequest request)
      Gets the current instance of MultipartPreservingRequest of this request if it exists.
      List<org.apache.commons.fileupload.FileItem> getFileItems()
      Returns the file items of this multipart content request.
      String getParameter​(String name)  
      Map<String,​String[]> getParameterMap()  
      Enumeration<String> getParameterNames()  
      String[] getParameterValues​(String name)  
      javax.servlet.http.Part getPart​(String name)  
      Collection<javax.servlet.http.Part> getParts()  
      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 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 a multipart POST request.
    • Method Detail

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