[
https://issues.apache.org/jira/browse/WICKET-7154?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17952450#comment-17952450
]
ASF subversion and git services commented on WICKET-7154:
---------------------------------------------------------
Commit 5c3ca182cd0ef5423cbd05564cb53b511327fcd4 in wicket's branch
refs/heads/reiern70/WICKET-7154-native-tomcat-upload from reiern70
[ https://gitbox.apache.org/repos/asf?p=wicket.git;h=5c3ca182cd ]
[WICKET-7154] 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).
> 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)