class Async::HTTP::AcceptEncoding

Set a valid accept-encoding header and decode the response.

def call(request)

def call(request)
	request.headers['accept-encoding'] = @accept_encoding
	
	response = super
	
	if !response.body.empty? and content_encoding = response.headers['content-encoding']
		body = response.body
		
		# We want to unwrap all encodings
		content_encoding.reverse_each do |name|
			if wrapper = @wrappers[name]
				body = wrapper.call(body)
			end
		end
		
		response.body = body
	end
	
	return response
end

def initialize(app, wrappers = DEFAULT_WRAPPERS)

def initialize(app, wrappers = DEFAULT_WRAPPERS)
	super(app)
	
	@accept_encoding = wrappers.keys.join(', ')
	@wrappers = wrappers
end