Sha256: 13c15da32a98ca0bb072e551c3ba23db5fc5f78a2ca126e0f81860159a72f646

Contents?: true

Size: 501 Bytes

Versions: 8

Compression:

Stored size: 501 Bytes

Contents

require 'zlib'

module Ridley
  module Middleware
    class Gzip < Faraday::Response::Middleware
      def on_complete(env)
        case env[:response_headers][CONTENT_ENCODING].to_s.downcase
        when 'gzip'
          env[:body] = Zlib::GzipReader.new(StringIO.new(env[:body]), encoding: 'ASCII-8BIT').read
        when 'deflate'
          env[:body] = Zlib::Inflate.inflate(env[:body])
        end
      end
    end
  end
end

Faraday::Response.register_middleware gzip: Ridley::Middleware::Gzip

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
ridley-4.2.0 lib/ridley/middleware/gzip.rb
ridley-4.1.2 lib/ridley/middleware/gzip.rb
ridley-4.1.1 lib/ridley/middleware/gzip.rb
ridley-4.1.0 lib/ridley/middleware/gzip.rb
ridley-4.0.0 lib/ridley/middleware/gzip.rb
ridley-3.1.0 lib/ridley/middleware/gzip.rb
ridley-3.0.0 lib/ridley/middleware/gzip.rb
ridley-3.0.0.rc1 lib/ridley/middleware/gzip.rb