tomcat-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Remy Maucherat <r...@apache.org>
Subject Re: Coyote problems on a EBCDIC machine
Date Thu, 02 Oct 2003 16:39:19 GMT
jean-frederic clere wrote:

> 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.

Yes, well, I was suggesting adding a static byte[] getBytes() method 
doing the byte by byte conversion (like 
InternalOutputBuffer.write(String) is doing), to get the readability and 
the right conversion.

Remy



---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org


Mime
View raw message