class Async::HTTP::InflateBody
def self.for(body, encoding = GZIP)
def self.for(body, encoding = GZIP) self.new(body, Zlib::Inflate.new(encoding)) end
def self.for_response(response)
def self.for_response(response) if content_encoding = response.headers['content-encoding'] if encoding = ENCODINGS[content_encoding] return self.for(response.body, encoding) end raise ArgumentError.new("Unsupported content encoding: #{content_encoding.inspect}") end return response.body end
def read
def read return if @stream.finished? if chunk = @body.read chunk = @stream.inflate(chunk) else chunk = @stream.finish end return chunk.empty? ? nil : chunk end