[
https://issues.apache.org/jira/browse/WICKET-7154?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17952451#comment-17952451
]
ASF GitHub Bot commented on WICKET-7154:
----------------------------------------
reiern70 opened a new pull request, #1167:
URL: https://github.com/apache/wicket/pull/1167
Provide a way to hook into tomcat native multipart processing and at the
same time do upload progress reporting. This is needed because with tomcat 11.x
tomcat will parse multipart whenever getParameters is called and logic using
fileupload2 is very error-prone (it can be rather easily broken on applications
if "someone" calls getParameters before wicket form processing takes place).
This should be working for Tomcat 11.x after
https://github.com/apache/tomcat/pull/856
See
https://bz.apache.org/bugzilla/show_bug.cgi?id=69690
> wicket multipart support is broken for tomcat 11.0.6
> ----------------------------------------------------
>
> Key: WICKET-7154
> URL: https://issues.apache.org/jira/browse/WICKET-7154
> Project: Wicket
> Issue Type: Improvement
> Affects Versions: 10.4.0, 10.5.0
> Reporter: Ernesto Reinaldo Barreiro
> Assignee: Ernesto Reinaldo Barreiro
> Priority: Blocker
> Fix For: 10.6.0
>
>
> It seems wicket file upload functionality that depends on
> *commons-fileupload2* is broken for tomcat 11.x (I have tested with 11.0.5
> and 11.0.6).
> First I though this is because tomcat 10.x is using
> commons-fileupload2-jakarta-servlet5 thus I upgraded to
> commons-fileupload2-jakarta-servlet6 but the problem is the same.
>
> It seems that tomcat 11.0.6 is already handling multipart and "consuming" the
> request thus when we file-upload2 tries to parse the request the underlying
> IdentityInputFilter
>
> ([https://github.com/apache/tomcat/blob/11.0.x/java/org/apache/coyote/http11/filters/IdentityInputFilter.java)|https://github.com/apache/tomcat/blob/11.0.x/java/org/apache/coyote/http11/filters/IdentityInputFilter.java_]
>
> has already "consumed" the request. This also affects upload progress
> functionality.
> {*}Note{*}: I have tried to solve this is wicket but I think it can't be
> solved in a general way...
> {*}Why{*}: whenever to call getPostParameters in wicket tomcat will parse the
> multipart by itself and the request will be consumed. Thus, if anything
> before Form is processed calls
> webRequest.getPostParameters().getParameterValue("XXX") then
> MultipartServletWebRequest will not work (as tomcat will consume the
> request). I have
> [reported|https://lists.apache.org/thread/99r9wtlqrbm0gc309w985yl1khfp41nt]
> this on Tomcat users list and they requested a "quick-start". I created one
> using wicket.
>
> {*}Additional info{*}: Tomcat 11 does not support multipart "out of the box".
> You need to either set
>
> <Context allowCasualMultipartParsing="true">
> ...
> </Context>
>
> or us @MultipartConfig on a wicket servlet.
>
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)