0.24.0¶ ↑
Features¶ ↑
:oauth
plugin¶ ↑
The :oauth
plugin manages the handling of a given OAuth session, in that it ships with convenience methods to generate a new access token, which it then injects in all requests.
More info under honeyryderchuck.gitlab.io/httpx/wiki/OAuth
session callbacks¶ ↑
HTTP request/response lifecycle events have now the ability of being intercepted via public API callback methods:
HTTPX.on_request_completed do |request| puts "request to #{request.uri} sent" end.get(...)
More info under honeyryderchuck.gitlab.io/httpx/wiki/Events to know which events and callback methods are supported.
:circuit_breaker
plugin on_circuit_open
callback¶ ↑
A callback has been introduced for the :circuit_breaker
plugin, which is triggered when a circuit is opened.
http = HTTPX.plugin(:circuit_breaker).on_circuit_open do |req| puts "circuit opened for #{req.uri}" end http.get(...)
Improvements¶ ↑
Several :response_cache
features have been improved:
-
:response_cache
plugin: response cache store has been made thread-safe. -
cached response sharing across threads is made safer, as stringio/tempfile instances are copied instead of shared (without copying the underling string/file).
-
stale cached responses are eliminate on cache store lookup/store operations.
-
already closed responses are evicted from the cache store.
-
fallback for lack of compatible response “date” header has been fixed to return a
Time
object.
Bugfixes¶ ↑
-
Ability to recover from errors happening during response chunk processing (required for overriding behaviour and response chunk callbacks); error bubbling up will result in the connection being closed.
-
Happy eyeballs support for multi-homed early-resolved domain names (such as
localhost
under/etc/hosts
) was broken, as it would try the first given IP; so, if given::1
and connection would fail, it wouldn’t try127.0.0.1
, which would have succeeded. -
:digest_authentication
plugin was removing the “algorithm” header on-sess
declared algorithms, which is required for HTTP digest auth negotiation.