Git Product home page Git Product logo

awesome-faraday's Introduction

Awesome Faraday

A curated list of awesome middleware and adapters for Faraday. If you want your adapter or middleware to feature in this list, please open a discussion or a PR.

Adapters

Faraday allows you to change the adapter, the element in the stack responsible for performing the HTTP request, with ease, by the combination of a standardised API to provide configuration and request details, and a powerful set of middleware. However, each adapter can also offer unique features, or lack the support for others. The following table show the available adapters and which features they support.

Adapter Bundled with Faraday Reason Phrase parsing Compression (Gzip, Deflate) Response Streaming Parallel Requests GET, HEAD, DELETE, TRACE Request Body HEAD Response Body TRACE Method Local Socket Binding
EM::HTTP v1 only ✔️ ✖️ ✖️ ✔️ ✔️ ✖️ ✔️ ✔️
EM::Synchrony v1 only ✔️ ✖️ ✖️ ✔️ ✔️ ✖️ ✔️ ✔️
Excon v1 only ✔️ ✖️ ✖️ ✖️ ✔️ ✔️ ✔️ ✖️
HttpClient v1 only ✔️ ✔️ ✖️ ✖️ ✔️ ✔️ ✔️ ✔️
Net::HTTP v1 only ✔️ ✔️ ✔️ ✖️ ✔️ ✔️ ✔️ ✖️
Net::HTTP::Persistent v1 only ✔️ ✔️ ✖️ ✖️ ✔️ ✔️ ✔️ ✖️
Patron v1 only ✔️ ✖️ ✖️ ✖️ ✖️ ✔️ ✖️ ✖️
Typhoeus v1 only ✖️ ✖️ ✖️ ✔️ ✔️ ✔️ ✔️ ✖️
HTTP.rb ✖️ ✔️ ✖️ ✖️ ✖️ ✔️ ✖️ ✔️ ✔️
httpx ✖️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️

Middleware

Under the hood, Faraday uses a Rack-inspired middleware stack for making requests. Much of Faraday’s power is unlocked with custom middleware. Some middleware is included with Faraday, and others are in external gems. Learn more about Middleware.

In addition to this curated list of middleware, we would like to specifically call your attention to middleware that is helpful for general HTTP use:

Awesome Community Middleware

Included with faraday itself

Bundled into their own gems

faraday_middleware gem

ATTENTION: faraday_middleware have been deprecated and won't be updated to work on Faraday 2.0. All the middleware below will need to be moved into their own gems.

Body Types

TBC

awesome-faraday's People

Contributors

alexwayfer avatar bodrovis avatar gurgeous avatar honeyryderchuck avatar imactia avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.