class Async::HTTP::Body::Inflate
def self.for(body, encoding = GZIP)
def self.for(body, encoding = GZIP) self.new(body, Zlib::Inflate.new(encoding)) end
def read
def read return if @stream.closed? if chunk = super @input_length += chunk.bytesize # It's possible this triggers the stream to finish. chunk = @stream.inflate(chunk) @output_length += chunk.bytesize else chunk = @stream.finish @output_length += chunk.bytesize @stream.close end if @stream.finished? and chunk.empty? return nil end return chunk end