Home

Awesome

Faraday Middleware

<a href="https://badge.fury.io/rb/faraday_middleware"><img src="https://badge.fury.io/rb/faraday_middleware@2x.png" alt="Gem Version" height="20"></a> CI

A collection of useful Faraday middleware. See the documentation.

gem install faraday_middleware

⚠️ DEPRECATION WARNING ⚠️

As highlighted in Faraday's UPGRADING guide, faraday_middleware is DEPRECATED, and will not be updated to support Faraday 2.0. If you rely on faraday_middleware in your project and would like to support Faraday 2.0:

Most of the middlewares are up for adoption, contributors that would like to maintain them. If you'd like to maintain any middleware, have any question or need any help, we're here! Please reach out opening an issue or a discussion.

Dependencies

Ruby >= 2.3.0

As of v0.16.0, faraday and faraday_middleware no longer officially support JRuby or Rubinius.

Some dependent libraries are needed only when using specific middleware:

MiddlewareLibraryNotes
FaradayMiddleware::Instrumentationactivesupport
FaradayMiddleware::OAuthsimple_oauth
FaradayMiddleware::ParseXmlmulti_xml
FaradayMiddleware::ParseYamlsafe_yamlNot backwards compatible with versions of this middleware prior to faraday_middleware v0.12. See code comments for alternatives.
FaradayMiddleware::Mashifyhashie
FaradayMiddleware::Rashifyrash_altMake sure to uninstall original rash gem to avoid conflict.

Examples

require 'faraday_middleware'

connection = Faraday.new 'http://example.com/api' do |conn|
  conn.request :oauth2, 'TOKEN'
  conn.request :json

  conn.response :xml,  content_type: /\bxml$/
  conn.response :json, content_type: /\bjson$/

  conn.use :instrumentation
  conn.adapter Faraday.default_adapter
end