0.06
The project is in a healthy, maintained state
Faraday plugin to automatically set compression headers (GZip, Deflate, Brotli) and decompress the response.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

Runtime

>= 2.0, < 3
~> 3.0
 Project Readme

Faraday Gzip

CI Gem Gem Total Downloads

The Gzip middleware for Faraday 1 and 2 adds the necessary Accept-Encoding headers and automatically decompresses the response. If the "Accept-Encoding" header isn't set in the request, it defaults to gzip,deflate and appropriately handles the server's compressed response. This functionality resembles what Ruby does internally in Net::HTTP#get. If Brotli is included in your Gemfile, the middleware also adds br to the header for Brotli support.

Prerequisites

  • faraday-gzip v3 supports only Faraday v2 and is tested with Ruby 3.0+ and JRuby 9.4
  • faraday-gzip v2 supports Faraday v1 and v2 and is tested with Ruby 2.7+ and JRuby 9.4.

Installation

Add this line to your application's Gemfile:

gem 'faraday-gzip', '~> 3'

And then execute:

bundle install

Or install it yourself as:

gem install faraday-gzip

Usage

To enable the middleware in your Faraday connection, add it as shown below:

require 'faraday/gzip' # <=== Add this line

conn = Faraday.new(...) do |f|
  f.request :gzip # <=== Add this line
  # Additional configuration...
end

Development

To contribute or make changes:

  • Clone the repo
  • Run bundle to install dependencies
  • Implement your feature
  • Write and run tests using rspec .
  • Use rake build to build the gem locally if needed
  • Create a new PR with your changes

Contributing

Bug reports and pull requests are welcome on GitHub.

License

This gem is available as open source under the terms of the MIT License.