jamesfredley commented on issue #13841:
URL: https://github.com/apache/grails-core/issues/13841#issuecomment-5951586565

   This is fixed on 8.0.x.
   
   `DefaultUrlMappingInfo.getActionName()` called `checkDispatchAction()`, 
which called `tryMultipartParams()` and then 
`MultipartResolver.resolveMultipart()` while URL mappings were matched, in 
addition to the dispatcher''s own `checkMultipart`. That call was removed in 
611061e2 (https://github.com/apache/grails-core/pull/15565, 2026-04-08). That 
commit is in v8.0.0-M1, v8.0.0-M2, v8.0.0-M3, v8.0.0-M4, v8.0.0-M5, v8.0.0-M6, 
v8.0.0-RC1, and v8.0.0-RC2. The unused `tryMultipartParams` method, which 
contained `resolver.resolveMultipart(request)`, was deleted in 32b0d9f5 
(https://github.com/apache/grails-core/pull/16149, 2026-08-14). That commit is 
in v8.0.0-RC1 and v8.0.0-RC2. Both commits are on current `origin/8.0.x` 
(`d13aa33282`).
   
   On that HEAD, `getActionName()` only evaluates the action name 
(`DefaultUrlMappingInfo.java` lines 193-196). 
`GrailsDispatcherServlet.checkMultipart` (`GrailsDispatcherServlet.groovy` 
lines 90-118) delegates to Spring once per dispatch and skips error, forward, 
and include requests. `WebUtils.resolveMultipartRequest` only finds a request 
that was already resolved. `GrailsDispatcherServletSpec` expects 
`multipartResolver.resolveMultipart` exactly once for a multipart request and 
zero times otherwise.
   
   The old path is still on `7.2.x` (`DefaultUrlMappingInfo.java` lines 206, 
241, and 278).


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