Author: markt
Date: Wed Sep 2 20:31:25 2015
New Revision: 1700892
URL: http://svn.apache.org/r1700892
Log:
Use Charset rather than encoding name to create C2BConvertor
Modified:
tomcat/trunk/java/org/apache/catalina/connector/OutputBuffer.java
tomcat/trunk/java/org/apache/tomcat/util/buf/C2BConverter.java
tomcat/trunk/java/org/apache/tomcat/util/buf/UEncoder.java
Modified: tomcat/trunk/java/org/apache/catalina/connector/OutputBuffer.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/OutputBuffer.java?rev=1700892&r1=1700891&r2=1700892&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/connector/OutputBuffer.java (original)
+++ tomcat/trunk/java/org/apache/catalina/connector/OutputBuffer.java Wed Sep
2 20:31:25 2015
@@ -568,7 +568,7 @@ public class OutputBuffer extends Writer
enc = DEFAULT_ENCODING;
}
- Charset charset = B2CConverter.getCharset(enc);
+ final Charset charset = B2CConverter.getCharset(enc);
conv = encoders.get(charset);
if (conv == null) {
@@ -579,7 +579,7 @@ public class OutputBuffer extends Writer
@Override
public C2BConverter run() throws IOException{
- return new C2BConverter(enc);
+ return new C2BConverter(charset);
}
}
);
@@ -590,7 +590,7 @@ public class OutputBuffer extends Writer
}
}
} else {
- conv = new C2BConverter(enc);
+ conv = new C2BConverter(charset);
}
encoders.put(charset, conv);
Modified: tomcat/trunk/java/org/apache/tomcat/util/buf/C2BConverter.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/buf/C2BConverter.java?rev=1700892&r1=1700891&r2=1700892&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/buf/C2BConverter.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/buf/C2BConverter.java Wed Sep 2
20:31:25 2015
@@ -19,6 +19,7 @@ package org.apache.tomcat.util.buf;
import java.io.IOException;
import java.nio.ByteBuffer;
import java.nio.CharBuffer;
+import java.nio.charset.Charset;
import java.nio.charset.CharsetEncoder;
import java.nio.charset.CoderResult;
import java.nio.charset.CodingErrorAction;
@@ -37,8 +38,8 @@ public final class C2BConverter {
*/
private final CharBuffer leftovers;
- public C2BConverter(String encoding) throws IOException {
- encoder = B2CConverter.getCharset(encoding).newEncoder();
+ public C2BConverter(Charset charset) {
+ encoder = charset.newEncoder();
// FIXME: See if unmappable/malformed behavior configuration is needed
// in practice
encoder.onUnmappableCharacter(CodingErrorAction.REPLACE)
Modified: tomcat/trunk/java/org/apache/tomcat/util/buf/UEncoder.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/buf/UEncoder.java?rev=1700892&r1=1700891&r2=1700892&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/buf/UEncoder.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/buf/UEncoder.java Wed Sep 2
20:31:25 2015
@@ -17,6 +17,7 @@
package org.apache.tomcat.util.buf;
import java.io.IOException;
+import java.nio.charset.StandardCharsets;
import java.util.BitSet;
/**
@@ -57,8 +58,6 @@ public final class UEncoder {
private CharChunk output=null;
private final boolean readOnlySafeChars;
- private final String ENCODING = "UTF8";
-
public UEncoder() {
this.safeChars = initialSafeChars();
readOnlySafeChars = false;
@@ -93,6 +92,9 @@ public final class UEncoder {
* @param s string to be encoded
* @param start the beginning index, inclusive
* @param end the ending index, exclusive
+ *
+ * @return A new CharChunk contained the URL encoded string
+ *
* @throws IOException If an I/O error occurs
*/
public CharChunk encodeURL(String s, int start, int end)
@@ -101,7 +103,7 @@ public final class UEncoder {
bb = new ByteChunk(8); // small enough.
cb = new CharChunk(2); // small enough.
output = new CharChunk(64); // small enough.
- c2b = new C2BConverter(ENCODING);
+ c2b = new C2BConverter(StandardCharsets.UTF_8);
} else {
bb.recycle();
cb.recycle();
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]