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]