This is an automated email from the ASF dual-hosted git repository.
mgrigorov pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/wicket.git
The following commit(s) were added to refs/heads/master by this push:
new a32dc74a50 WICKET-7154 Document the reason to read only the QUERY
parameters in one place
a32dc74a50 is described below
commit a32dc74a50cb8eef9f395ae791a3b38ba6df7bf4
Author: Martin Tzvetanov Grigorov <[email protected]>
AuthorDate: Wed May 14 11:03:24 2025 +0300
WICKET-7154 Document the reason to read only the QUERY parameters in one
place
Signed-off-by: Martin Tzvetanov Grigorov <[email protected]>
---
.../resource/AbstractFileUploadResource.java | 24 ++++++++++++++--------
1 file changed, 15 insertions(+), 9 deletions(-)
diff --git
a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/upload/resource/AbstractFileUploadResource.java
b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/upload/resource/AbstractFileUploadResource.java
index ffedb3ce04..50cf91ff85 100644
---
a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/upload/resource/AbstractFileUploadResource.java
+++
b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/upload/resource/AbstractFileUploadResource.java
@@ -31,8 +31,10 @@ import org.apache.wicket.markup.html.form.upload.FileUpload;
import org.apache.wicket.protocol.http.servlet.MultipartServletWebRequest;
import org.apache.wicket.protocol.http.servlet.ServletWebRequest;
import org.apache.wicket.request.cycle.RequestCycle;
+import org.apache.wicket.request.http.WebRequest;
import org.apache.wicket.request.resource.AbstractResource;
import org.apache.wicket.util.lang.Bytes;
+import org.apache.wicket.util.string.StringValue;
import org.apache.wicket.util.string.StringValueConversionException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -244,6 +246,14 @@ public abstract class AbstractFileUploadResource extends
AbstractResource
}
}
+ // Use getQueryParameters() instead of getRequestParameters() to avoid
reading POST parameters
+ // Consuming the POST parameters would cause the request to be empty
when reading it as
+ // MultipartServletWebRequest
+ // See WICKET-7154 for more details
+ private StringValue getParameterValue(WebRequest request, String
parameterName) {
+ return
request.getQueryParameters().getParameterValue(parameterName);
+ }
+
/**
* Defines what is the maximum (total) size of the uploaded files.
*
@@ -253,8 +263,7 @@ public abstract class AbstractFileUploadResource extends
AbstractResource
{
try
{
- // WICKET-7154 we need to avoid reading POST parameters
- return
Bytes.bytes(webRequest.getQueryParameters().getParameterValue("maxSize").toLong());
+ return Bytes.bytes(getParameterValue(webRequest,
"maxSize").toLong());
}
catch (StringValueConversionException e)
{
@@ -270,8 +279,7 @@ public abstract class AbstractFileUploadResource extends
AbstractResource
*/
private Bytes getFileMaxSize(ServletWebRequest webRequest)
{
- // WICKET-7154 we need to avoid reading POST parameters
- long fileMaxSize =
webRequest.getQueryParameters().getParameterValue("fileMaxSize").toLong(-1);
+ long fileMaxSize = getParameterValue(webRequest,
"fileMaxSize").toLong(-1);
return fileMaxSize > 0 ? Bytes.bytes(fileMaxSize) : null;
}
@@ -282,8 +290,7 @@ public abstract class AbstractFileUploadResource extends
AbstractResource
*/
private String getUploadId(ServletWebRequest webRequest)
{
- // WICKET-7154 we need to avoid reading POST parameters
- return
webRequest.getQueryParameters().getParameterValue(UPLOAD_ID).toString("upload");
+ return getParameterValue(webRequest,
UPLOAD_ID).toString("upload");
}
/**
@@ -293,8 +300,7 @@ public abstract class AbstractFileUploadResource extends
AbstractResource
*/
private long getFileCountMax(ServletWebRequest webRequest)
{
- // WICKET-7154 we need to avoid reading POST parameters
- return
webRequest.getQueryParameters().getParameterValue("fileCountMax").toLong(-1);
+ return getParameterValue(webRequest, "fileCountMax").toLong(-1);
}
/**
@@ -311,4 +317,4 @@ public abstract class AbstractFileUploadResource extends
AbstractResource
protected abstract String generateJsonResponse(ResourceResponse
resourceResponse,
ServletWebRequest webRequest, List<FileUpload> files);
-}
\ No newline at end of file
+}