You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ws.apache.org by ve...@apache.org on 2022/11/03 23:17:33 UTC

[ws-axiom] branch master updated: Simplify MultipartBodyWriter

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

veithen pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ws-axiom.git


The following commit(s) were added to refs/heads/master by this push:
     new fe7a88e24 Simplify MultipartBodyWriter
fe7a88e24 is described below

commit fe7a88e247c5be4d0619989d195f2f0d7e16f421
Author: Andreas Veithen <an...@gmail.com>
AuthorDate: Thu Nov 3 23:17:21 2022 +0000

    Simplify MultipartBodyWriter
---
 .../java/org/apache/axiom/mime/MultipartBodyWriter.java   | 15 +++++----------
 1 file changed, 5 insertions(+), 10 deletions(-)

diff --git a/axiom-api/src/main/java/org/apache/axiom/mime/MultipartBodyWriter.java b/axiom-api/src/main/java/org/apache/axiom/mime/MultipartBodyWriter.java
index 3c715ab81..2564fe225 100644
--- a/axiom-api/src/main/java/org/apache/axiom/mime/MultipartBodyWriter.java
+++ b/axiom-api/src/main/java/org/apache/axiom/mime/MultipartBodyWriter.java
@@ -73,9 +73,6 @@ public final class MultipartBodyWriter {
         
         @Override
         public void close() throws IOException {
-            if (parent instanceof Base64EncodingOutputStream) {
-                ((Base64EncodingOutputStream)parent).complete();
-            }
             writeAscii("\r\n");
         }
     }
@@ -138,12 +135,10 @@ public final class MultipartBodyWriter {
      */
     public OutputStream writePart(String contentType, String contentTransferEncoding,
             String contentID, List<Header> extraHeaders) throws IOException {
-        OutputStream transferEncoder;
-        if (contentTransferEncoding.equals("8bit") || contentTransferEncoding.equals("binary")) {
-            transferEncoder = out;
-        } else {
-            // We support no content transfer encodings other than 8bit, binary and base64.
-            transferEncoder = new Base64EncodingOutputStream(out);
+        OutputStream partOut = new PartOutputStream(out);
+        // We support no content transfer encodings other than 8bit, binary and base64.
+        if (!contentTransferEncoding.equals("8bit") && !contentTransferEncoding.equals("binary")) {
+            partOut = new Base64EncodingOutputStream(partOut);
             contentTransferEncoding = "base64";
         }
         writeAscii("--");
@@ -170,7 +165,7 @@ public final class MultipartBodyWriter {
             }
         }
         writeAscii("\r\n\r\n");
-        return new PartOutputStream(transferEncoder);
+        return partOut;
     }
     
     /**