This is an automated email from the ASF dual-hosted git repository. kusal pushed a commit to branch WW-5340-subclassable in repository https://gitbox.apache.org/repos/asf/struts.git
commit 276ede4c88f67b5e1d1182928301ceff12e6fcba Author: Kusal Kithul-Godage <g...@kusal.io> AuthorDate: Fri Oct 6 04:17:31 2023 +1100 WW-5340 Add debug logging for rejected form fields --- .../multipart/JakartaMultiPartRequest.java | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/core/src/main/java/org/apache/struts2/dispatcher/multipart/JakartaMultiPartRequest.java b/core/src/main/java/org/apache/struts2/dispatcher/multipart/JakartaMultiPartRequest.java index de5a3e968..8e4b60b5f 100644 --- a/core/src/main/java/org/apache/struts2/dispatcher/multipart/JakartaMultiPartRequest.java +++ b/core/src/main/java/org/apache/struts2/dispatcher/multipart/JakartaMultiPartRequest.java @@ -142,26 +142,22 @@ public class JakartaMultiPartRequest extends AbstractMultiPartRequest { } long size = item.getSize(); - if (size == 0) { - values.add(StringUtils.EMPTY); - } else if (size > maxStringLength) { + if (size > maxStringLength) { + LOG.debug("Form field {} of size {} bytes exceeds limit of {}.", item.getFieldName(), size, maxStringLength); String errorKey = "struts.messages.upload.error.parameter.too.long"; LocalizedMessage localizedMessage = new LocalizedMessage(this.getClass(), errorKey, null, - new Object[]{item.getFieldName(), maxStringLength, size}); - + new Object[]{item.getFieldName(), maxStringLength, size}); if (!errors.contains(localizedMessage)) { errors.add(localizedMessage); } return; - - } else if (charset != null) { - values.add(item.getString(charset)); + } + if (size == 0) { + values.add(StringUtils.EMPTY); + } else if (charset == null) { + values.add(item.getString()); // WW-633 } else { - // note: see https://issues.apache.org/jira/browse/WW-633 - // basically, in some cases the charset may be null, so - // we're just going to try to "other" method (no idea if this - // will work) - values.add(item.getString()); + values.add(item.getString(charset)); } params.put(item.getFieldName(), values); } finally {