private void parseMultiPartPost()

in src/main/java/org/apache/sling/engine/impl/parameters/ParameterSupport.java [396:430]


    private void parseMultiPartPost(ParameterMap parameters) {

        // Create a new file upload handler
        JakartaServletDiskFileUpload upload = new JakartaServletDiskFileUpload();
        upload.setSizeMax(ParameterSupport.maxRequestSize);
        upload.setFileSizeMax(ParameterSupport.maxFileSize);
        upload.setFileItemFactory(DiskFileItemFactory.builder()
                .setBufferSize(ParameterSupport.fileSizeThreshold)
                .setPath(ParameterSupport.location.toPath())
                .get());
        upload.setFileCountMax(ParameterSupport.maxFileCount);
        RequestContext rc = new JakartaServletRequestContext(this.getServletRequest()) {
            @Override
            public String getCharacterEncoding() {
                String enc = super.getCharacterEncoding();
                return (enc != null) ? enc : Util.ENCODING_DIRECT;
            }
        };

        // Parse the request
        List<?> /* FileItem */ items = null;
        try {
            items = upload.parseRequest(rc);
        } catch (FileUploadException fue) {
            this.log.error("parseMultiPartPost: Error parsing request", fue);
        }

        if (items != null && items.size() > 0) {
            for (Iterator<?> ii = items.iterator(); ii.hasNext(); ) {
                DiskFileItem fileItem = (DiskFileItem) ii.next();
                RequestParameter pp = new MultipartRequestParameter(fileItem);
                parameters.addParameter(pp, false);
            }
        }
    }