class Protocol::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 body = response.body and !body.empty? and content_encoding = response.headers.delete(CONTENT_ENCODING) # 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