v2.17.0
Add opt-in Faraday transport
Callers who set transport: :faraday get a memoized Faraday::Connection via client.faraday and full control over middleware, SSL, auth, and timeouts. Callers who do not set this option see no behavior change. HTTPI remains the default for 2.x.
- Add:
transport: :faradayglobal option. Defaults to:httpi(#992). - Add:
client.faradayreturns a memoizedFaraday::Connectionfor configuring middleware, SSL, auth, and timeouts when using the Faraday transport. - Add:
Savon.clientraises iftransport: :faradayis set but the faraday gem is not installed, or if any httpi-specific global option (proxy, timeouts,ssl, auth,adapter) is set alongside it. All conflicts are reported with their Faraday equivalents. - Change: Observers must return
Savon::Transport::Response(ornil) instead ofHTTPI::Response. ReturningHTTPI::Responsestill works but emits a deprecation warning. - Unblocks:
- redirect following for WSDL fetches via
faraday-follow-redirectsmiddleware (#1033, savonrb/wasabi#18) - digest authentication via
faraday-digestauthmiddleware (#1021, savonrb/httpi#250) - proxy authentication with special characters in passwords (#941)
- and setting an
Acceptheader for WSDL requests from Rails apps (savonrb/wasabi#115)
- redirect following for WSDL fetches via
Changelog: https://github.com/savonrb/savon/blob/v2.x/CHANGELOG.md
Commits: v2.16.0...v2.17.0