You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hc.apache.org by ol...@apache.org on 2017/09/30 21:54:06 UTC

[3/3] httpcomponents-client git commit: Deprecated Content-Transfer-Encoding field in MIME body parts per RFC 7578, section 4.7

Deprecated Content-Transfer-Encoding field in MIME body parts per RFC 7578, section 4.7


Project: http://git-wip-us.apache.org/repos/asf/httpcomponents-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/httpcomponents-client/commit/f959d44e
Tree: http://git-wip-us.apache.org/repos/asf/httpcomponents-client/tree/f959d44e
Diff: http://git-wip-us.apache.org/repos/asf/httpcomponents-client/diff/f959d44e

Branch: refs/heads/master
Commit: f959d44ec77d190821aa8f3a096fdeebd940bfe6
Parents: a424709
Author: Oleg Kalnichevski <ol...@apache.org>
Authored: Sat Sep 30 23:35:41 2017 +0200
Committer: Oleg Kalnichevski <ol...@apache.org>
Committed: Sat Sep 30 23:51:52 2017 +0200

----------------------------------------------------------------------
 .../hc/client5/http/entity/mime/ByteArrayBody.java   |  1 +
 .../client5/http/entity/mime/ContentDescriptor.java  |  3 +++
 .../http/entity/mime/FormBodyPartBuilder.java        |  4 ----
 .../org/apache/hc/client5/http/entity/mime/MIME.java |  4 ++++
 .../http/entity/mime/TestFormBodyPartBuilder.java    | 15 +++++----------
 .../http/entity/mime/TestMultipartContentBody.java   |  4 ----
 .../http/entity/mime/TestMultipartEntityBuilder.java |  2 --
 .../client5/http/entity/mime/TestMultipartForm.java  | 15 ---------------
 8 files changed, 13 insertions(+), 35 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/httpcomponents-client/blob/f959d44e/httpclient5/src/main/java/org/apache/hc/client5/http/entity/mime/ByteArrayBody.java
----------------------------------------------------------------------
diff --git a/httpclient5/src/main/java/org/apache/hc/client5/http/entity/mime/ByteArrayBody.java b/httpclient5/src/main/java/org/apache/hc/client5/http/entity/mime/ByteArrayBody.java
index 54e63ad..f3a56ba 100644
--- a/httpclient5/src/main/java/org/apache/hc/client5/http/entity/mime/ByteArrayBody.java
+++ b/httpclient5/src/main/java/org/apache/hc/client5/http/entity/mime/ByteArrayBody.java
@@ -87,6 +87,7 @@ public class ByteArrayBody extends AbstractContentBody {
     }
 
     @Override
+    @Deprecated
     public String getTransferEncoding() {
         return MIME.ENC_BINARY;
     }

http://git-wip-us.apache.org/repos/asf/httpcomponents-client/blob/f959d44e/httpclient5/src/main/java/org/apache/hc/client5/http/entity/mime/ContentDescriptor.java
----------------------------------------------------------------------
diff --git a/httpclient5/src/main/java/org/apache/hc/client5/http/entity/mime/ContentDescriptor.java b/httpclient5/src/main/java/org/apache/hc/client5/http/entity/mime/ContentDescriptor.java
index d000a92..cb977ce 100644
--- a/httpclient5/src/main/java/org/apache/hc/client5/http/entity/mime/ContentDescriptor.java
+++ b/httpclient5/src/main/java/org/apache/hc/client5/http/entity/mime/ContentDescriptor.java
@@ -76,7 +76,10 @@ public interface ContentDescriptor {
      * Returns the body descriptors transfer encoding.
      * @return The transfer encoding. Must not be null, but "7bit",
      *   if no transfer-encoding was specified.
+     *
+     * @deprecated Deprecated per RFC 7578, section 4.7. Do not use
      */
+    @Deprecated
     String getTransferEncoding();
 
     /**

http://git-wip-us.apache.org/repos/asf/httpcomponents-client/blob/f959d44e/httpclient5/src/main/java/org/apache/hc/client5/http/entity/mime/FormBodyPartBuilder.java
----------------------------------------------------------------------
diff --git a/httpclient5/src/main/java/org/apache/hc/client5/http/entity/mime/FormBodyPartBuilder.java b/httpclient5/src/main/java/org/apache/hc/client5/http/entity/mime/FormBodyPartBuilder.java
index b3c5e49..d2610e2 100644
--- a/httpclient5/src/main/java/org/apache/hc/client5/http/entity/mime/FormBodyPartBuilder.java
+++ b/httpclient5/src/main/java/org/apache/hc/client5/http/entity/mime/FormBodyPartBuilder.java
@@ -137,10 +137,6 @@ public class FormBodyPartBuilder {
                 headerCopy.addField(new MinimalField(MIME.CONTENT_TYPE, buffer.toString()));
             }
         }
-        if (headerCopy.getField(MIME.CONTENT_TRANSFER_ENC) == null) {
-            // TE cannot be null
-            headerCopy.addField(new MinimalField(MIME.CONTENT_TRANSFER_ENC, body.getTransferEncoding()));
-        }
         return new FormBodyPart(this.name, this.body, headerCopy);
     }
 

http://git-wip-us.apache.org/repos/asf/httpcomponents-client/blob/f959d44e/httpclient5/src/main/java/org/apache/hc/client5/http/entity/mime/MIME.java
----------------------------------------------------------------------
diff --git a/httpclient5/src/main/java/org/apache/hc/client5/http/entity/mime/MIME.java b/httpclient5/src/main/java/org/apache/hc/client5/http/entity/mime/MIME.java
index ebb5b84..53e1654 100644
--- a/httpclient5/src/main/java/org/apache/hc/client5/http/entity/mime/MIME.java
+++ b/httpclient5/src/main/java/org/apache/hc/client5/http/entity/mime/MIME.java
@@ -34,6 +34,10 @@ package org.apache.hc.client5.http.entity.mime;
 public final class MIME {
 
     public static final String CONTENT_TYPE          = "Content-Type";
+    /**
+     * @deprecated Deprecated per RFC 7578, section 4.7. Do not use
+     */
+    @Deprecated
     public static final String CONTENT_TRANSFER_ENC  = "Content-Transfer-Encoding";
     public static final String CONTENT_DISPOSITION   = "Content-Disposition";
 

http://git-wip-us.apache.org/repos/asf/httpcomponents-client/blob/f959d44e/httpclient5/src/test/java/org/apache/hc/client5/http/entity/mime/TestFormBodyPartBuilder.java
----------------------------------------------------------------------
diff --git a/httpclient5/src/test/java/org/apache/hc/client5/http/entity/mime/TestFormBodyPartBuilder.java b/httpclient5/src/test/java/org/apache/hc/client5/http/entity/mime/TestFormBodyPartBuilder.java
index e333b5f..ab99a26 100644
--- a/httpclient5/src/test/java/org/apache/hc/client5/http/entity/mime/TestFormBodyPartBuilder.java
+++ b/httpclient5/src/test/java/org/apache/hc/client5/http/entity/mime/TestFormBodyPartBuilder.java
@@ -51,8 +51,7 @@ public class TestFormBodyPartBuilder {
         Assert.assertNotNull(header);
         assertFields(Arrays.asList(
                         new MinimalField("Content-Disposition", "form-data; name=\"blah\""),
-                        new MinimalField("Content-Type", "text/plain; charset=ISO-8859-1"),
-                        new MinimalField("Content-Transfer-Encoding", "8bit")),
+                        new MinimalField("Content-Type", "text/plain; charset=ISO-8859-1")),
                 header.getFields());
     }
 
@@ -71,8 +70,7 @@ public class TestFormBodyPartBuilder {
         Assert.assertNotNull(header1);
         assertFields(Arrays.asList(
                         new MinimalField("Content-Disposition", "form-data; name=\"blah\""),
-                        new MinimalField("Content-Type", "text/plain; charset=ISO-8859-1"),
-                        new MinimalField("Content-Transfer-Encoding", "8bit")),
+                        new MinimalField("Content-Type", "text/plain; charset=ISO-8859-1")),
                 header1.getFields());
         final FileBody fileBody = new FileBody(new File("/path/stuff.bin"), ContentType.DEFAULT_BINARY);
         final FormBodyPart bodyPart2 = builder
@@ -87,8 +85,7 @@ public class TestFormBodyPartBuilder {
         Assert.assertNotNull(header2);
         assertFields(Arrays.asList(
                         new MinimalField("Content-Disposition", "form-data; name=\"yada\"; filename=\"stuff.bin\""),
-                        new MinimalField("Content-Type", "application/octet-stream"),
-                        new MinimalField("Content-Transfer-Encoding", "binary")),
+                        new MinimalField("Content-Type", "application/octet-stream")),
                 header2.getFields());
     }
 
@@ -117,8 +114,7 @@ public class TestFormBodyPartBuilder {
                 new MinimalField("header3", "blah"),
                 new MinimalField("header3", "blah"),
                 new MinimalField("Content-Disposition", "form-data; name=\"blah\""),
-                new MinimalField("Content-Type", "text/plain; charset=ISO-8859-1"),
-                new MinimalField("Content-Transfer-Encoding", "8bit")),
+                new MinimalField("Content-Type", "text/plain; charset=ISO-8859-1")),
                 header1.getFields());
 
         final FormBodyPart bodyPart2 = builder
@@ -134,8 +130,7 @@ public class TestFormBodyPartBuilder {
                         new MinimalField("header1", "blah"),
                         new MinimalField("header2", "yada"),
                         new MinimalField("Content-Disposition", "form-data; name=\"blah\""),
-                        new MinimalField("Content-Type", "text/plain; charset=ISO-8859-1"),
-                        new MinimalField("Content-Transfer-Encoding", "8bit")),
+                        new MinimalField("Content-Type", "text/plain; charset=ISO-8859-1")),
                 header2.getFields());
 
         final FormBodyPart bodyPart3 = builder

http://git-wip-us.apache.org/repos/asf/httpcomponents-client/blob/f959d44e/httpclient5/src/test/java/org/apache/hc/client5/http/entity/mime/TestMultipartContentBody.java
----------------------------------------------------------------------
diff --git a/httpclient5/src/test/java/org/apache/hc/client5/http/entity/mime/TestMultipartContentBody.java b/httpclient5/src/test/java/org/apache/hc/client5/http/entity/mime/TestMultipartContentBody.java
index 37590fd..3b426fd 100644
--- a/httpclient5/src/test/java/org/apache/hc/client5/http/entity/mime/TestMultipartContentBody.java
+++ b/httpclient5/src/test/java/org/apache/hc/client5/http/entity/mime/TestMultipartContentBody.java
@@ -85,8 +85,6 @@ public class TestMultipartContentBody {
         Assert.assertEquals("application", b1.getMediaType());
         Assert.assertEquals("octet-stream", b1.getSubType());
 
-        Assert.assertEquals(MIME.ENC_BINARY, b1.getTransferEncoding());
-
         final InputStreamBody b2 = new InputStreamBody(
                 new ByteArrayInputStream(stuff), ContentType.create("some/stuff"), "stuff");
         Assert.assertEquals(-1, b2.getContentLength());
@@ -95,8 +93,6 @@ public class TestMultipartContentBody {
         Assert.assertEquals("some/stuff", b2.getMimeType());
         Assert.assertEquals("some", b2.getMediaType());
         Assert.assertEquals("stuff", b2.getSubType());
-
-        Assert.assertEquals(MIME.ENC_BINARY, b2.getTransferEncoding());
     }
 
 }

http://git-wip-us.apache.org/repos/asf/httpcomponents-client/blob/f959d44e/httpclient5/src/test/java/org/apache/hc/client5/http/entity/mime/TestMultipartEntityBuilder.java
----------------------------------------------------------------------
diff --git a/httpclient5/src/test/java/org/apache/hc/client5/http/entity/mime/TestMultipartEntityBuilder.java b/httpclient5/src/test/java/org/apache/hc/client5/http/entity/mime/TestMultipartEntityBuilder.java
index 6182899..e2e8285 100644
--- a/httpclient5/src/test/java/org/apache/hc/client5/http/entity/mime/TestMultipartEntityBuilder.java
+++ b/httpclient5/src/test/java/org/apache/hc/client5/http/entity/mime/TestMultipartEntityBuilder.java
@@ -140,7 +140,6 @@ public class TestMultipartEntityBuilder {
         Assert.assertEquals("--xxxxxxxxxxxxxxxxxxxxxxxx\r\n" +
                 "Content-Disposition: multipart/form-data; name=\"test\"; filename=\"hello world\"\r\n" +
                 "Content-Type: text/plain; charset=ISO-8859-1\r\n" +
-                "Content-Transfer-Encoding: 8bit\r\n" +
                 "\r\n" +
                 "hello world\r\n" +
                 "--xxxxxxxxxxxxxxxxxxxxxxxx--\r\n", out.toString(StandardCharsets.US_ASCII.name()));
@@ -167,7 +166,6 @@ public class TestMultipartEntityBuilder {
         Assert.assertEquals("--xxxxxxxxxxxxxxxxxxxxxxxx\r\n" +
                 "Content-Disposition: multipart/form-data; name=\"test\"; filename=\"hello%20%CE%BA%CF%8C%CF%83%CE%BC%CE%B5!%25\"\r\n" +
                 "Content-Type: text/plain; charset=ISO-8859-1\r\n" +
-                "Content-Transfer-Encoding: 8bit\r\n" +
                 "\r\n" +
                 "hello world\r\n" +
                 "--xxxxxxxxxxxxxxxxxxxxxxxx--\r\n", out.toString(StandardCharsets.US_ASCII.name()));

http://git-wip-us.apache.org/repos/asf/httpcomponents-client/blob/f959d44e/httpclient5/src/test/java/org/apache/hc/client5/http/entity/mime/TestMultipartForm.java
----------------------------------------------------------------------
diff --git a/httpclient5/src/test/java/org/apache/hc/client5/http/entity/mime/TestMultipartForm.java b/httpclient5/src/test/java/org/apache/hc/client5/http/entity/mime/TestMultipartForm.java
index 8c729b7..90bf5ca 100644
--- a/httpclient5/src/test/java/org/apache/hc/client5/http/entity/mime/TestMultipartForm.java
+++ b/httpclient5/src/test/java/org/apache/hc/client5/http/entity/mime/TestMultipartForm.java
@@ -75,19 +75,16 @@ public class TestMultipartForm {
             "--foo\r\n" +
             "Content-Disposition: form-data; name=\"field1\"\r\n" +
             "Content-Type: text/plain; charset=ISO-8859-1\r\n" +
-            "Content-Transfer-Encoding: 8bit\r\n" +
             "\r\n" +
             "this stuff\r\n" +
             "--foo\r\n" +
             "Content-Disposition: form-data; name=\"field2\"\r\n" +
             "Content-Type: text/plain; charset=UTF-8\r\n" +
-            "Content-Transfer-Encoding: 8bit\r\n" +
             "\r\n" +
             "that stuff\r\n" +
             "--foo\r\n" +
             "Content-Disposition: form-data; name=\"field3\"\r\n" +
             "Content-Type: text/plain; charset=ISO-8859-1\r\n" +
-            "Content-Transfer-Encoding: 8bit\r\n" +
             "\r\n" +
             "all kind of stuff\r\n" +
             "--foo--\r\n";
@@ -115,13 +112,11 @@ public class TestMultipartForm {
                 "--foo\r\n" +
                         "Content-Disposition: form-data; name=\"field1\"\r\n" +
                         "Content-Type: text/plain; charset=ISO-8859-1\r\n" +
-                        "Content-Transfer-Encoding: 8bit\r\n" +
                         "\r\n" +
                         "this stuff\r\n" +
                         "--foo\r\n" +
                         "Content-Disposition: form-data; name=\"field2\"\r\n" +
                         "Content-Type: stuff/plain; param=value\r\n" +
-                        "Content-Transfer-Encoding: 8bit\r\n" +
                         "\r\n" +
                         "that stuff\r\n" +
                         "--foo--\r\n";
@@ -156,14 +151,12 @@ public class TestMultipartForm {
             "Content-Disposition: form-data; name=\"field1\"; " +
                 "filename=\"" + tmpfile.getName() + "\"\r\n" +
             "Content-Type: application/octet-stream\r\n" +
-            "Content-Transfer-Encoding: binary\r\n" +
             "\r\n" +
             "some random whatever\r\n" +
             "--foo\r\n" +
             "Content-Disposition: form-data; name=\"field2\"; " +
                 "filename=\"file.tmp\"\r\n" +
             "Content-Type: application/octet-stream\r\n" +
-            "Content-Transfer-Encoding: binary\r\n" +
             "\r\n" +
             "some random whatever\r\n" +
             "--foo--\r\n";
@@ -201,21 +194,18 @@ public class TestMultipartForm {
             "Content-Disposition: form-data; name=\"field1\"; " +
                 "filename=\"" + tmpfile.getName() + "\"\r\n" +
             "Content-Type: application/octet-stream\r\n" +
-            "Content-Transfer-Encoding: binary\r\n" +
             "\r\n" +
             "some random whatever\r\n" +
             "--foo\r\n" +
             "Content-Disposition: form-data; name=\"field2\"; " +
                 "filename=\"test-file\"\r\n" +
             "Content-Type: text/plain; charset=US-ASCII\r\n" +
-            "Content-Transfer-Encoding: binary\r\n" +
             "\r\n" +
             "some random whatever\r\n" +
             "--foo\r\n" +
             "Content-Disposition: form-data; name=\"field3\"; " +
                 "filename=\"file.tmp\"\r\n" +
             "Content-Type: application/octet-stream\r\n" +
-            "Content-Transfer-Encoding: binary\r\n" +
             "\r\n" +
             "some random whatever\r\n" +
             "--foo--\r\n";
@@ -253,21 +243,18 @@ public class TestMultipartForm {
             "Content-Disposition: form-data; name=\"field1\u0414\"; " +
                 "filename=\"" + tmpfile.getName() + "\"\r\n" +
             "Content-Type: application/octet-stream\r\n" +
-            "Content-Transfer-Encoding: binary\r\n" +
             "\r\n" +
             "some random whatever\r\n" +
             "--foo\r\n" +
             "Content-Disposition: form-data; name=\"field2\"; " +
                 "filename=\"test-file\"\r\n" +
             "Content-Type: text/plain; charset=US-ASCII\r\n" +
-            "Content-Transfer-Encoding: binary\r\n" +
             "\r\n" +
             "some random whatever\r\n" +
             "--foo\r\n" +
             "Content-Disposition: form-data; name=\"field3\"; " +
                 "filename=\"file.tmp\"\r\n" +
             "Content-Type: application/octet-stream\r\n" +
-            "Content-Transfer-Encoding: binary\r\n" +
             "\r\n" +
             "some random whatever\r\n" +
             "--foo--\r\n";
@@ -364,14 +351,12 @@ public class TestMultipartForm {
             "--foo\r\n" +
             "Content-Disposition: form-data; name=\"field1\"\r\n" +
             "Content-Type: text/plain; charset=ISO-8859-1\r\n" +
-            "Content-Transfer-Encoding: 8bit\r\n" +
             "\r\n").getBytes(StandardCharsets.US_ASCII));
         out2.write(s1.getBytes(StandardCharsets.ISO_8859_1));
         out2.write(("\r\n" +
             "--foo\r\n" +
             "Content-Disposition: form-data; name=\"field2\"\r\n" +
             "Content-Type: text/plain; charset=KOI8-R\r\n" +
-            "Content-Transfer-Encoding: 8bit\r\n" +
             "\r\n").getBytes(StandardCharsets.US_ASCII));
         out2.write(s2.getBytes(Charset.forName("KOI8-R")));
         out2.write(("\r\n" +