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]
