class Restforce::Middleware::Gzip
Middleware to uncompress GZIP compressed responses from Salesforce.
def call(env)
def call(env) env[:request_headers][ACCEPT_ENCODING_HEADER] = ENCODING if @options[:compress] @app.call(env).on_complete do |environment| on_complete(environment) end end
def decompress(body)
def decompress(body) Zlib::GzipReader.new(StringIO.new(body)).read end
def gzipped?(env)
def gzipped?(env) env[:response_headers][CONTENT_ENCODING_HEADER] == ENCODING end
def on_complete(env)
def on_complete(env) env[:body] = decompress(env[:body]) if gzipped?(env) end