-
Notifications
You must be signed in to change notification settings - Fork 1k
Closed
Description
I want to start collecting a wishlist for what we want to change in Faraday. Nothing here is concrete yet.
Faraday v2.0
- Reorganize param encoders:
lib/faraday/params_encoders/[nested, flat]? - Extract adapters as gems
- em-http
- em-http-ssl-patch
- em-synchrony
- excon
- httpclient
- net-http
- net-http-persistent
- patron
- rack
- typhoeus
Faraday v3.0
- Use SNAKE_CASE constants consistently
- Kill
Faraday::Utils -
Faraday::Connection=>Faraday::Client - Remove Options structs in favor of properties on Client/Request/Response
- Remove env in favor of request/response object properties
- Consistent
#responseproperty on HTTP-related error classes (RaiseError, RetriableRequest, etc) [Can not view details of failed requests #1284] - Kill adapter/middleware autoloading in favor of good ole ruby
- Revisit adapter/middleware internal API (drop Rack adapter semantics)
- Redesign
Faraday::ConnectionandFaraday::RackBuilderrelationship- Remove
use/adapter/etc delegation -
Faraday::RackBuilder#handlers=>Faraday::Connection#handlers
- Remove
- Reorganize middleware
lib/faraday/middleware/* - Retry mw: extract exponential backoff timing stuff
- Logging/Instrumentalization: built into Faraday, usable by any middleware
- Combine net/http and net/http persistent adapters
- Streaming by default, while providing easy access to cached string response bodies
-
HTTP/Socks proxy support(needs to be implemented in the http libs themselves) - Built-in multipart support with better api.
- Revisit pipelining or parallel requests (net-http-pipeline, typhoeus)
- Consistent response error raising (/cc #1042)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels