Remy Maucherat wrote:
jean-frederic clere wrote:

Clere, Jean-Frederic wrote:

Remy Maucherat wrote:

jean-frederic clere wrote:

Hi,

I have a funny problem with Coyote: The response body are Ok (in ASCII) but the headers are corrupted (probably in EBCDIC). May be somewhere I have to tell Coyote to do ASCII instead default encoding.

Has someone a hint?





The header writing is in http11.InternalOutputBuffer. Is something special needed ?




Probably some getBytes("ISO-8859-1") instead of getBytes()



Oops...
Mostly in http11/src/java/org/apache/coyote/http11/Constants.java getBytes(char encoding) throws execptions so I have to use:
{ (byte) 'a', (byte) 'b' ... };
instead of:
"ab".getBytes();


Ah, ok, I wasn't seeing any getBytes in InternalOutputBuffer, so this was a bit confusing.

Sorry.


Maybe we can add a static method which does the byte by byte copy to preserve some kind of readability, while still fixing the issue.

Well that is true that: +++ public static final byte[] ACK = "HTTP/1.1 100 Continue\r\n\r\n".getBytes(); +++ Is more readable than: +++ public static final byte[] ACK = { (byte) '1', (byte) '.', (byte) '1', (byte) ' ', (byte) '1', (byte) '0', (byte) '0', (byte) ' ', (byte) 'C', (byte) 'o', (byte) 'n', (byte) 't', (byte) 'i', (byte) 'n', (byte) 'u', (byte) 'e', (byte) '\r', (byte) '\n', (byte) '\r', (byte) '\n' }; +++ But that is still readable ;-)

And now my EBCDIC machine seems to return understandable headers :-) (Well it seems now that the body of other things that errors are also somehow in EBCDIC but I will look how to arrange it).

I will commit the changes in http11/src/java/org/apache/coyote/http11/Constants.java tomorrow if noone complains in the meantime.

Cheers

Jean-Frederic

Remy




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Index: http11/src/java/org/apache/coyote/http11/Constants.java
===================================================================
RCS file: 
/home/cvs/mirror/jakarta-tomcat-connectors/http11/src/java/org/apache/coyote/http11/Constants.java,v
retrieving revision 1.12
diff -u -r1.12 Constants.java
--- http11/src/java/org/apache/coyote/http11/Constants.java     24 Nov 2002 22:00:04 
-0000      1.12
+++ http11/src/java/org/apache/coyote/http11/Constants.java     2 Oct 2003 16:29:38 
-0000
@@ -159,25 +159,42 @@
     /**
      * CRLF bytes.
      */
-    public static final byte[] CRLF_BYTES = "\r\n".getBytes();
+    public static final byte[] CRLF_BYTES = {(byte) '\r', (byte) '\n'};
 
 
     /**
      * Colon bytes.
      */
-    public static final byte[] COLON_BYTES = ": ".getBytes();
+    public static final byte[] COLON_BYTES = {(byte) ':', (byte) ' '};
 
 
     /**
      * Close bytes.
      */
-    public static final byte[] CLOSE_BYTES = "close".getBytes();
+    public static final byte[] CLOSE_BYTES = {
+        (byte) 'c',
+        (byte) 'l',
+        (byte) 'o',
+        (byte) 's',
+        (byte) 'e'
+    };
 
 
     /**
      * Keep-alive bytes.
      */
-    public static final byte[] KEEPALIVE_BYTES = "keep-alive".getBytes();
+    public static final byte[] KEEPALIVE_BYTES = {
+        (byte) 'k',
+        (byte) 'e',
+        (byte) 'e',
+        (byte) 'p',
+        (byte) '-',
+        (byte) 'a',
+        (byte) 'l',
+        (byte) 'i',
+        (byte) 'v',
+        (byte) 'e'
+    };
 
 
     /**
@@ -231,8 +248,26 @@
     /**
      * Ack string when pipelining HTTP requests.
      */
-    public static final byte[] ACK =
-        "HTTP/1.1 100 Continue\r\n\r\n".getBytes();
-
-
+    public static final byte[] ACK = {
+        (byte) '1',
+        (byte) '.',
+        (byte) '1',
+        (byte) ' ',
+        (byte) '1',
+        (byte) '0',
+        (byte) '0',
+        (byte) ' ',
+        (byte) 'C',
+        (byte) 'o',
+        (byte) 'n',
+        (byte) 't',
+        (byte) 'i',
+        (byte) 'n',
+        (byte) 'u',
+        (byte) 'e',
+        (byte) '\r',
+        (byte) '\n',
+        (byte) '\r',
+        (byte) '\n'
+    };
 }

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to