From: "drbrain (Eric Hodel)" Date: 2012-05-25T15:15:10+09:00 Subject: [ruby-core:45232] [ruby-trunk - Feature #6492] Inflate all HTTP Content-Encoding: deflate, gzip, x-gzip responses by default Issue #6492 has been updated by drbrain (Eric Hodel). naruse (Yui NARUSE) wrote: > I agree with the concept of the patch, but > > > + ensure > > + @socket.finish if Inflater === @socket > > When @socket is Socket-like object, the object should behave like a socket. > Inflater#finish should be Inflater#shutdown or Inflater#close and this if-clause is not needed. I considered this, but calling #close would also terminate a persistent connection which is undesirable. I don't see a way to cleanly finish the inflate stream without an if-clause. > [���] I will submit a new patch that includes fixes for the rest of your comments. ---------------------------------------- Feature #6492: Inflate all HTTP Content-Encoding: deflate, gzip, x-gzip responses by default https://bugs.ruby-lang.org/issues/6492#change-26820 Author: drbrain (Eric Hodel) Status: Open Priority: Normal Assignee: Category: lib Target version: 2.0.0 =begin This patch moves the compression-handling code from Net::HTTP#get to Net::HTTPResponse to allow decompression to occur by default on any response body. (A future patch will set the Accept-Encoding on all requests that allow response bodies by default.) Instead of having separate decompression code for deflate and gzip-encoded responses, (({Zlib::Inflate.new(32 + Zlib::MAX_WBITS)})) is used which automatically detects and inflated gzip-wrapped streams which allows for simpler processing of gzip bodies (no need to create a StringIO). =end -- http://bugs.ruby-lang.org/