matrei commented on PR #16152:
URL: https://github.com/apache/grails-core/pull/16152#issuecomment-5357123703

   Problem and solution in a nutshell:
   
   ```console
   EARLY SPRING / GRAILS
   =====================
   
   HTML only GET/POST
          |
          v
   _method convention
          |
          v
   HiddenHttpMethodFilter
          |
          +-- calls getParameter()
                  |
                  v
           problem for multipart
   
   
   SPRING'S HISTORICAL ADVICE
   ==========================
   
   MultipartFilter
          |
          v
   HiddenHttpMethodFilter
          |
          v
   DispatcherServlet
   
   
   SPRING BOOT, 2019
   =================
   
   Eager/automatic HiddenHttpMethodFilter work found expensive
          |
          v
   Disabled by default
   
   
   GRAILS HISTORICAL BEHAVIOR
   ==========================
   
   HiddenHttpMethodFilter
   GrailsWebRequestFilter
          |
          +-- read parameters before DispatcherServlet
                  |
                  v
          oversized multipart parsed too early
                  |
                  v
          container owns failure response
   
   
   #16146
   ======
   
   Move multipart resolution earlier
          |
          v
   Solves some ordering/access problems
   but introduces filter lifecycle,
   wrapper, cleanup and performance complexity
   
   
   #16149
   ======
   
   Keep outermost request
          |
          v
   Discover MultipartHttpServletRequest through wrapper chain
   
   
   #16152
   ======
   
   Do NOT move multipart parsing earlier
          |
          v
   Tolerate premature parameter failures
   for unreadable multipart requests
          |
          v
   DispatcherServlet.checkMultipart()
          |
          v
   MultipartException
          |
          v
   HandlerExceptionResolver
          |
          v
   APPLICATION CONTROLS RESPONSE
   ```


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to