Followup to r948043 that was a fix for https://issues.apache.org/bugzilla/show_bug...
authorkkolinko <kkolinko@13f79535-47bb-0310-9956-ffa450edef68>
Wed, 2 Jun 2010 17:34:55 +0000 (17:34 +0000)
committerkkolinko <kkolinko@13f79535-47bb-0310-9956-ffa450edef68>
Wed, 2 Jun 2010 17:34:55 +0000 (17:34 +0000)
We should not use PrintWriter(OutputStream), because that implicitly uses the platform default charset. Specify the charset explicitly.

git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@950682 13f79535-47bb-0310-9956-ffa450edef68

java/org/apache/tomcat/util/net/AprEndpoint.java

index 511b46a..ca8b057 100644 (file)
@@ -17,7 +17,7 @@
 
 package org.apache.tomcat.util.net;
 
-import java.io.PrintWriter;
+import java.io.OutputStreamWriter;
 import java.net.InetSocketAddress;
 import java.security.AccessController;
 import java.security.PrivilegedAction;
@@ -607,12 +607,12 @@ public class AprEndpoint extends AbstractEndpoint {
              * BSD accept filters. The Acceptor will discard it.
              */
             if (deferAccept) {
-                PrintWriter pw;
+                OutputStreamWriter sw;
 
-                pw = new PrintWriter(s.getOutputStream());
-                pw.print("OPTIONS * HTTP/1.0\r\n" +
+                sw = new OutputStreamWriter(s.getOutputStream(), "ISO-8859-1");
+                sw.write("OPTIONS * HTTP/1.0\r\n" +
                          "User-Agent: Tomcat wakeup connection\r\n\r\n");
-                pw.flush();
+                sw.flush();
             }
             if (log.isDebugEnabled()) {
                 log.debug("Socket unlock completed for:"+saddr);