[ANN] httpx 0.24.6 released
httpx 0.24.6 has been released.
NOTE: If nothing significant happens, this will be the last release before v1 is released (which should happen during next week).
https://gitlab.com/honeyryderchuck/httpx
HTTPX.get("https://gitlab.com/honeyryderchuck/httpx")
HTTPX is an HTTP client library for the Ruby programming language.
Among its features, it supports:
- HTTP/2 and HTTP/1.x protocol versions
- Concurrent requests by default
- Simple and chainable API
- Proxy Support (HTTP(S), CONNECT tunnel, Socks4/4a/5)
- Simple Timeout System
- Lightweight by default (require what you need)
And also:
- Compression (gzip, deflate, brotli)
- Streaming Requests
- Authentication (Basic Auth, Digest Auth, AWS Sigv4)
- Expect 100-continue
- Multipart Requests
- Cookies
- HTTP/2 Server Push
- H2C Upgrade
- Automatic follow redirects
- International Domain Names
- GRPC
- Circuit breaker
- WebDAV
- Datadog integration
- Faraday integration
- Webmock integration
- Sentry integration
Here are the updates since the last release:
0.24.6 Bugfixes- fix Session class assertions not prepared for class overrides, which could break some plugins which override the Session class on load (such as
datadog
orwebmock
adapters).
- fix for SSL handshake post connection SAN check using IPv6 address.
- fix bug in DoH impl when the request returned no answer.
-
digest_authentication
plugin now supports passing HA1hashed with password HA1s (common to store in htdigest files for example) when setting the:hashed
kwarg totrue
in the.digest_auth
call.- ex:
http.digest_auth(user, get_hashed_passwd_from_htdigest(user), hashed: true)
- ex:
- TLS session resumption is now supported
- whenever possible,
httpx
sessions will recycle used connections so that, in the case of TLS connections, the first session will keep being reused, thereby diminishing the overhead of subsequent TLS handshakes on the same host. - TLS sessions are only reused in the scope of the same
httpx
session, unless the:persistent
plugin is used, in which case, the persistedhttpx
session will always try to resume TLS sessions.
- whenever possible,
- When explicitly using IP addresses in the URL host, TLS handshake will now verify if the IP address is included in the certificate.
- IP address will keep not being used for SNI, as per RFC 6066, section 3.
- ex:
http.get("https://10.12.0.12/get")
- if you want the prior behavior, set
HTTPX.with(ssl: {verify_hostname: false})
- Turn TLS hostname verification on for
jruby
(it’s turned off by default).- if you want the prior behavior, set
HTTPX.with(ssl: {verify_hostname: false})
- if you want the prior behavior, set
- faraday adapter: reraise httpx timeout errors as faraday errors.
- faraday adapter: support
:bind
option, which expects a host and port to connect to.
- faraday adapter: fix
#close
implementation using the wrong ivar. - faraday adapter: fix usage of
requestt_timeout
translation of faraday timeouts into httpx timeouts. - faraday adapter:
ssl: { verify: false }
was being ignored, and certification verification was still proceeding.
- besides an array,
:resolver_options
can now receive a hash for:nameserver
, which must be indexed by IP family (Socket::AF_INET6
orSocket::AF_INET
); each group of nameservers will be used for emitting DNS queries of that iP family. -
:authentication
plugin: Added#bearer_auth
helper, which receives a token, and sets it as"Bearer $TOKEN
in the"authorization"
header. -
faraday
adapter: now implements#build_connection
and#close
, will now interact withfaraday
native timeouts (:read
,:write
and:connect
).
- fixed native resolver bug when queries involving intermediate alias would be kept after the original query and mess with re-queries.
- datadog adapter: support
:service_name
configuration option. - datadog adapter: set
:distributed_tracing
totrue
by default. -
:proxy
plugin: when the proxy uri uses an unsupported scheme (i.e.: “scp://125.24.2.1”), a more user friendly error is raised (instead of the previous broken stacktrace).
- datadog adapter: fix tracing enable call, which was wrongly calling
super
. -
:proxy
plugin: fix for bug which was turning off plugins overridingHTTPX::Connection#send
(such as the datadog adapter).
Post a comment