0.10.1¶ ↑
Improvements¶ ↑
URL-encoded nested params¶ ↑
url encoder now supports nested params, which is a standard of rack-based frameworks:
HTTPX.post("https://httpbin.org/post", form: { a: { b: 1 }, c: [2, 3] }) # a[b]=1&c[]=2&c[]=3
This encoding scheme is now the standard for URL-encoded request bodies, query params, and :multipart
plugin requests.
Socks4 IPv6 addresses¶ ↑
HTTPX
supports IPv6 Socks4 proxies now. This support is restricted to rubies where IPAddr#hton
is implemented though, so you are encouraged to upgrade.
More verbose HTTP Errors¶ ↑
HTTPX::Response#raise_for_status
was raising exceptions for client/server HTTP errors codes (4xx/5xx). However, only the status code was part of the message.
From now on, both headers and the responnse payload will also appear, so expected more verbosity, but also more meaningful information.
Bugfixes¶ ↑
-
HTTP/2 and HTTP/1.1 exhausted connections now get properly migrated into a new connection;
-
HTTP/2 421 responses will now correctly migrate the connection and pending requests to HTTP/1.1 (a hanging loop was being caused);
-
HTTP/2 connection failed with a GOAWAY settings timeout will now return error responses (instead of hanging indefinitely);
-
Non-IP proxy name-resolving errors will now move on to the next available proxy in the list (instead of hanging indefinitely);
-
Non-IP DNS resolve errors for
native
andhttps
variants will now return the appropriate error response (instead of hanging indefinitely);
Chore¶ ↑
-
HTTPX.plugins
is now officially deprecated (useHTTPX.plugin
instead);