This works great, the only issue I encountered is that the Content-Encoding response header isn't a mimetype and is expecting a value of "gzip" not "application/x-gzip-compressed" I altered the test to reflect this and added in a catch for any Content-type headers that do contain "application/x-gzip-compressed" so that I don't accidentally unzip content that was intended to be delivered downstream that way.

Cheers,
Mark



Mark R. Diggory wrote:

Beautiful, I can integrate this easily into our library.


David Hay wrote:

I don't believe that HttpClient handles GZip or any other kind of decoding of the reply content. That's up to the application using the library. Here's what we do to handle the case when the server doesn't report the content type correctly:

if ( contentType == null || contentType.equals( "content/unknown" ) ) {
// Let's look for gzip data another way if we can
if ( urlStream.markSupported() ) {
urlStream.mark( 2 );
int id1 = urlStream.read();
int id2 = urlStream.read();
urlStream.reset();


// These numbers are magic. See the RFC 1952 Gzip File
// Format Specification located at:
// http://www.gzip.org/zlib/rfc-gzip.html
if ( id1 == 0x1F && id2 == 0x8B ) {
// we've got gzip data
contentType = "application/x-gzip-compressed";
}
}
}
if ( contentType != null && contentType.startsWith( "application/x-gzip-compressed" ) ) {
urlStream = GZIPInputStream( urlStream );
}


-----Original Message-----
From: Mark R. Diggory [mailto:[EMAIL PROTECTED]
Sent: Friday, May 21, 2004 9:42 AM
To: Commons HttpClient Project
Subject: GZip encoding


We're having issues where content from our service is being sent GZip encoded to the HttpClient, But with an error that its gzip transfer encoding header isn't set properly by the server (thank our server developer). Most browsers (and clients in perl etc) seem to catch this error early and fall into GZip decoding. I would like to catch this condition and have the client still gzip decode the stream. First, does HttpClient support gzip decoding, and Second, is there a way I can force to gzip decode if the header is broken?


thanks,
Mark

This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you have received this email in error please notify the system manager. This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail.

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






------------------------------------------------------------------------

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



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

Reply via email to