You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by gg...@apache.org on 2023/06/14 21:11:23 UTC

[commons-fileupload] 01/02: Use a default (empty) FileItemHeaders

This is an automated email from the ASF dual-hosted git repository.

ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-fileupload.git

commit 814bb5abb5adea53023f01a7794b560bfb3441ad
Author: Gary Gregory <ga...@gmail.com>
AuthorDate: Wed Jun 14 11:59:42 2023 -0400

    Use a default (empty) FileItemHeaders
---
 .../java/org/apache/commons/fileupload2/AbstractFileUpload.java   | 3 ++-
 .../main/java/org/apache/commons/fileupload2/FileItemFactory.java | 8 ++++++--
 2 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/commons-fileupload2-core/src/main/java/org/apache/commons/fileupload2/AbstractFileUpload.java b/commons-fileupload2-core/src/main/java/org/apache/commons/fileupload2/AbstractFileUpload.java
index a3d460b..b3ece68 100644
--- a/commons-fileupload2-core/src/main/java/org/apache/commons/fileupload2/AbstractFileUpload.java
+++ b/commons-fileupload2-core/src/main/java/org/apache/commons/fileupload2/AbstractFileUpload.java
@@ -28,6 +28,7 @@ import java.util.Locale;
 import java.util.Map;
 import java.util.Objects;
 
+import org.apache.commons.fileupload2.FileItemFactory.FileItemBuilder;
 import org.apache.commons.io.IOUtils;
 
 /**
@@ -365,7 +366,7 @@ public abstract class AbstractFileUpload<T> {
      * @return The new instance.
      */
     protected FileItemHeadersImpl newFileItemHeaders() {
-        return new FileItemHeadersImpl();
+        return FileItemBuilder.newFileItemHeaders();
     }
 
     /**
diff --git a/commons-fileupload2-core/src/main/java/org/apache/commons/fileupload2/FileItemFactory.java b/commons-fileupload2-core/src/main/java/org/apache/commons/fileupload2/FileItemFactory.java
index bdb48d6..3732c27 100644
--- a/commons-fileupload2-core/src/main/java/org/apache/commons/fileupload2/FileItemFactory.java
+++ b/commons-fileupload2-core/src/main/java/org/apache/commons/fileupload2/FileItemFactory.java
@@ -37,6 +37,10 @@ public interface FileItemFactory {
      */
     abstract class FileItemBuilder<T extends FileItem, B extends FileItemBuilder<T, B>> extends AbstractStreamBuilder<T, B> {
 
+        static FileItemHeadersImpl newFileItemHeaders() {
+            return new FileItemHeadersImpl();
+        }
+
         /**
          * Field name.
          */
@@ -60,7 +64,7 @@ public interface FileItemFactory {
         /**
          * File item headers.
          */
-        private FileItemHeaders fileItemHeaders;
+        private FileItemHeaders fileItemHeaders = newFileItemHeaders();
 
         /**
          * The instance of {@link FileCleaningTracker}, which is responsible for deleting temporary files.
@@ -115,7 +119,7 @@ public interface FileItemFactory {
         }
 
         public B setFileItemHeaders(final FileItemHeaders fileItemHeaders) {
-            this.fileItemHeaders = fileItemHeaders;
+            this.fileItemHeaders = fileItemHeaders != null ? fileItemHeaders : newFileItemHeaders();
             return asThis();
         }