You are viewing a plain text version of this content. The canonical link for it is here.
Posted to mime4j-dev@james.apache.org by mw...@apache.org on 2009/01/27 13:16:34 UTC
svn commit: r738066 - in /james/mime4j/trunk/src:
main/java/org/apache/james/mime4j/codec/EncoderUtil.java
main/java/org/apache/james/mime4j/field/Fields.java
test/java/org/apache/james/mime4j/codec/EncoderUtilTest.java
Author: mwiederkehr
Date: Tue Jan 27 12:16:33 2009
New Revision: 738066
URL: http://svn.apache.org/viewvc?rev=738066&view=rev
Log:
change encodeContentTypeParameterValue in encodeHeaderParameter
Modified:
james/mime4j/trunk/src/main/java/org/apache/james/mime4j/codec/EncoderUtil.java
james/mime4j/trunk/src/main/java/org/apache/james/mime4j/field/Fields.java
james/mime4j/trunk/src/test/java/org/apache/james/mime4j/codec/EncoderUtilTest.java
Modified: james/mime4j/trunk/src/main/java/org/apache/james/mime4j/codec/EncoderUtil.java
URL: http://svn.apache.org/viewvc/james/mime4j/trunk/src/main/java/org/apache/james/mime4j/codec/EncoderUtil.java?rev=738066&r1=738065&r2=738066&view=diff
==============================================================================
--- james/mime4j/trunk/src/main/java/org/apache/james/mime4j/codec/EncoderUtil.java (original)
+++ james/mime4j/trunk/src/main/java/org/apache/james/mime4j/codec/EncoderUtil.java Tue Jan 27 12:16:33 2009
@@ -138,20 +138,22 @@
}
/**
- * Encodes the specified string as a value of a Content-Type parameter as
- * described in RFC 2045 section 5.1. The specified string should not
+ * Encodes the specified strings into a header parameter as described in RFC
+ * 2045 section 5.1 and RFC 2183 section 2. The specified strings should not
* contain any illegal (control or non-ASCII) characters.
*
+ * @param name
+ * parameter name.
* @param value
- * string to encode.
+ * parameter value.
* @return encoded result.
*/
- public static String encodeContentTypeParameterValue(String value) {
+ public static String encodeHeaderParameter(String name, String value) {
// value := token / quoted-string
if (isToken(value)) {
- return value;
+ return name + "=" + value;
} else {
- return quote(value);
+ return name + "=" + quote(value);
}
}
Modified: james/mime4j/trunk/src/main/java/org/apache/james/mime4j/field/Fields.java
URL: http://svn.apache.org/viewvc/james/mime4j/trunk/src/main/java/org/apache/james/mime4j/field/Fields.java?rev=738066&r1=738065&r2=738066&view=diff
==============================================================================
--- james/mime4j/trunk/src/main/java/org/apache/james/mime4j/field/Fields.java (original)
+++ james/mime4j/trunk/src/main/java/org/apache/james/mime4j/field/Fields.java Tue Jan 27 12:16:33 2009
@@ -53,10 +53,8 @@
StringBuilder sb = new StringBuilder(mimeType);
for (Map.Entry<String, String> entry : parameters.entrySet()) {
sb.append("; ");
- sb.append(entry.getKey());
- sb.append('=');
- sb.append(EncoderUtil.encodeContentTypeParameterValue(entry
- .getValue()));
+ sb.append(EncoderUtil.encodeHeaderParameter(entry.getKey(),
+ entry.getValue()));
}
String contentType = sb.toString();
return contentType(contentType);
Modified: james/mime4j/trunk/src/test/java/org/apache/james/mime4j/codec/EncoderUtilTest.java
URL: http://svn.apache.org/viewvc/james/mime4j/trunk/src/test/java/org/apache/james/mime4j/codec/EncoderUtilTest.java?rev=738066&r1=738065&r2=738066&view=diff
==============================================================================
--- james/mime4j/trunk/src/test/java/org/apache/james/mime4j/codec/EncoderUtilTest.java (original)
+++ james/mime4j/trunk/src/test/java/org/apache/james/mime4j/codec/EncoderUtilTest.java Tue Jan 27 12:16:33 2009
@@ -56,17 +56,16 @@
.encodeAddressLocalPart("clint eastwood"));
}
- public void testEncodeContentTypeParameterValue() throws Exception {
- assertEquals("test", EncoderUtil
- .encodeContentTypeParameterValue("test"));
- assertEquals("\"test test\"", EncoderUtil
- .encodeContentTypeParameterValue("test test"));
- assertEquals("\"=test\"", EncoderUtil
- .encodeContentTypeParameterValue("=test"));
- assertEquals("\"\\\\test\"", EncoderUtil
- .encodeContentTypeParameterValue("\\test"));
- assertEquals("\"\\\"\\\\\\\"\"", EncoderUtil
- .encodeContentTypeParameterValue("\"\\\""));
+ public void testEncodeHeaderParameter() throws Exception {
+ assertEquals("p=test", EncoderUtil.encodeHeaderParameter("p", "test"));
+ assertEquals("p=\"test test\"", EncoderUtil.encodeHeaderParameter("p",
+ "test test"));
+ assertEquals("p=\"=test\"", EncoderUtil.encodeHeaderParameter("p",
+ "=test"));
+ assertEquals("p=\"\\\\test\"", EncoderUtil.encodeHeaderParameter("p",
+ "\\test"));
+ assertEquals("p=\"\\\"\\\\\\\"\"", EncoderUtil.encodeHeaderParameter(
+ "p", "\"\\\""));
}
public void testHasToBeEncoded() throws Exception {