mirror of
https://github.com/apache/httpcomponents-client.git
synced 2025-02-28 13:49:13 +00:00
Deprecated Content-Transfer-Encoding field in MIME body parts per RFC 7578, section 4.7
This commit is contained in:
parent
a424709d89
commit
f959d44ec7
@ -87,6 +87,7 @@ public String getCharset() {
|
||||
}
|
||||
|
||||
@Override
|
||||
@Deprecated
|
||||
public String getTransferEncoding() {
|
||||
return MIME.ENC_BINARY;
|
||||
}
|
||||
|
@ -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();
|
||||
|
||||
/**
|
||||
|
@ -137,10 +137,6 @@ public FormBodyPart build() {
|
||||
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);
|
||||
}
|
||||
|
||||
|
@ -34,6 +34,10 @@
|
||||
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";
|
||||
|
||||
|
@ -51,8 +51,7 @@ public void testBuildBodyPartBasics() throws Exception {
|
||||
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 void testBuildBodyPartMultipleBuilds() throws Exception {
|
||||
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 void testBuildBodyPartMultipleBuilds() throws Exception {
|
||||
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 void testBuildBodyPartCustomHeaders() throws Exception {
|
||||
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 void testBuildBodyPartCustomHeaders() throws Exception {
|
||||
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
|
||||
|
@ -85,8 +85,6 @@ public void testInputStreamBody() throws Exception {
|
||||
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 void testInputStreamBody() throws Exception {
|
||||
Assert.assertEquals("some/stuff", b2.getMimeType());
|
||||
Assert.assertEquals("some", b2.getMediaType());
|
||||
Assert.assertEquals("stuff", b2.getSubType());
|
||||
|
||||
Assert.assertEquals(MIME.ENC_BINARY, b2.getTransferEncoding());
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -140,7 +140,6 @@ public void testMultipartWriteTo() throws Exception {
|
||||
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 void testMultipartWriteToRFC7578Mode() throws Exception {
|
||||
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()));
|
||||
|
@ -75,19 +75,16 @@ public void testMultipartFormStringParts() throws Exception {
|
||||
"--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 void testMultipartFormCustomContentType() throws Exception {
|
||||
"--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 void testMultipartFormBinaryParts() throws Exception {
|
||||
"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 void testMultipartFormStrict() throws Exception {
|
||||
"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 void testMultipartFormRFC6532() throws Exception {
|
||||
"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 void testMultipartFormStringPartsMultiCharsets() throws Exception {
|
||||
"--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" +
|
||||
|
Loading…
x
Reference in New Issue
Block a user