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: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org