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