hk2166 commented on PR #16786:
URL: https://github.com/apache/grails-core/pull/16786#issuecomment-6472045162

   All three points are addressed in 8d58e81232.
   
   - **A multipart request inside a wrapper**: the task's request takes the 
public interfaces of every request in the wrapper chain and sends each call to 
the first request that offers the method, so `params` and 
`resolveMultipartRequest` find the upload while the request is live (detail in 
the inline reply).
   - **`params` after completion**: the copy answers as a multipart request 
without uploads, which are deleted as the request ends, so reading `params` 
gives the copied parameters instead of throwing on `getMultiFileMap` (detail in 
the inline reply).
   - **The dispatcher's multipart wrapper**: the copy leaves out any attribute 
holding a request, a response or a web request, and stands in for a multipart 
request an attribute held, so nothing reaches the recycled request through it 
(detail in the inline reply).
   
   On the previous head, five tests fail: uploads after completion and the 
lazy-multipart test (both throwing on `getMultiFileMap`), the multipart request 
inside a wrapper, the dispatcher's multipart request, and the release test (the 
dispatcher's wrapper kept the request reachable). The new class-loader test 
passes there only because the previous head never looked inside a wrapper; 
without the visibility check it fails. With the fix, the module's 57 tests 
pass, and so do the pubsub demo's 18 integration tests. Checkstyle, CodeNarc, 
PMD and the repository conventions are clean, and the guide builds with the 
updated paragraph.
   


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