2212 Commits

Author SHA1 Message Date
HoneyryderChuck
1494ba872a Merge branch 'v1' into 'master'
1.0.0

See merge request os85/httpx!270
2023-09-20 17:19:53 +00:00
HoneyryderChuck
685e6e4c7f allow multipart requests to accept tempfile
in fact, anything responding to .path, .eof?, .rewind and .read can be accepted
2023-09-20 17:57:41 +01:00
HoneyryderChuck
085cec0c8e improve coverage and simplified faraday adapter
and some other modules
2023-09-20 17:57:41 +01:00
HoneyryderChuck
288ac05508 fix: proxy plugin broke when processing a 305 use proxy redirect
the proxy plugin contained an enhancement, when used with the follow_redirects plugin, which retries a request over the received proxy. This contained a bug, which was now caught with the added test
2023-09-20 17:57:41 +01:00
HoneyryderChuck
c777aa779e test socks5 no auth methods error path 2023-09-20 17:57:41 +01:00
HoneyryderChuck
d55bfec80c fix: system resolv timeout raise ResolveTimeoutError instead of ResolveError 2023-09-20 17:57:41 +01:00
HoneyryderChuck
e88956a16f improving coverage of tests for proxy module 2023-09-20 17:57:41 +01:00
HoneyryderChuck
aab30279ac allow default errors catch up besides retry on 2023-09-20 17:57:41 +01:00
HoneyryderChuck
2f9247abfb use default HTTP/2 handshake strategy for grpc 2023-09-20 17:57:41 +01:00
HoneyryderChuck
0d58408c58 compression plugins for gzip and deflate supported by default
most of the code was moved to the transcoder layer.

The `compression_threshold_size` option has been removed.

The `:compression/brotli` plugin becomes only ´:brotli`, and depends on
the new transcoding APIs.

options to skip compression and decompression were added.
2023-09-20 17:57:41 +01:00
HoneyryderChuck
3f73d2e3ce multipart supported by default
the plugin was now moved to the transcoder layer, where it is available
from the get-go.
2023-09-20 17:57:41 +01:00
HoneyryderChuck
896914e189 lint change 2023-09-20 17:57:41 +01:00
HoneyryderChuck
4f587c5508 renaming authenticationn modules to just auth
* `:authentication` plugin becomes `:auth`
  * `authentication` helper becomes `authorization`
* `:basic_authentication` plugin becomes `:basic_auth`
  * `:basic_authentication` helper is removed
* `:digest_authentication` plugin becomes `:digest_auth`
  * `:digest_authentication` helper is removed
* `:ntlm_authentication` plugin becomes `:ntlm_auth`
  * `:ntlm_authentication` helper is removed
2023-09-20 17:57:41 +01:00
HoneyryderChuck
a9cb0a69a2 seting :read_timeout and :write_timeout by default 2023-09-20 17:57:41 +01:00
HoneyryderChuck
6baca35422 support has been removed 2023-09-20 17:57:41 +01:00
HoneyryderChuck
b4c5e75705 drop faraday adapter support for faraday lower than v1 2023-09-20 17:57:41 +01:00
HoneyryderChuck
d859c3a1eb remove support for older (< v1) versions of dddtrace in the datadog plugin 2023-09-20 17:57:41 +01:00
HoneyryderChuck
b7f5a3dfad adding release notes with latest updates 2023-09-20 17:57:41 +01:00
HoneyryderChuck
8cd1aac99c remove deprecated APIs 2023-09-20 17:57:39 +01:00
HoneyryderChuck
f0f6b5f7e2 removed punycode ruby implementation inherited from domain_name
it's IDNA 2003 compliant only, and people can already load idnx
optionally.
2023-09-20 17:57:05 +01:00
HoneyryderChuck
acbc22e79f test against jruby 9.4 2023-09-20 17:57:05 +01:00
HoneyryderChuck
134bef69e0 removed overrides and refinements of methods prior to 2.7 2023-09-20 17:57:05 +01:00
HoneyryderChuck
477c3601fc eliminated blocks testing for ruby < 2.7 2023-09-20 17:57:05 +01:00
HoneyryderChuck
f0dabb9a83 rearranged deps to adapt to the new constraints 2023-09-20 17:57:05 +01:00
HoneyryderChuck
7407adefb9 set min ruby gemspec constraint 2023-09-20 17:57:05 +01:00
HoneyryderChuck
91bfa84c12 removed ruby < 2.7 from CI 2023-09-20 17:57:05 +01:00
HoneyryderChuck
7473af6d9d removed punycode ruby implementation inherited from domain_name
it's IDNA 2003 compliant only, and people can already load idnx
optionally.
2023-09-20 17:57:05 +01:00
HoneyryderChuck
4292644870 Merge branch 'issue-247' into 'master'
fix Session class assertions not prepared for class overrides

Closes #247

See merge request os85/httpx!274
2023-09-19 16:07:08 +00:00
HoneyryderChuck
2e11ee5b32 fix Session class assertions not prepared for class overrides
Some plugins override the Session class, however there may be instances
of the original Session around, therefore the assertions need to somehow
point to the original Session class to stil be able to work.

Closes #247
2023-09-19 09:33:01 +01:00
HoneyryderChuck
0c8398b3db bumped version to 0.24.5 v0.24.5 2023-09-17 22:53:35 +01:00
HoneyryderChuck
52e738b586 Merge branch 'issue-246' into 'master'
fix bug in DoH impl when the request returned no answer

Closes #246

See merge request os85/httpx!273
2023-09-14 18:44:29 +00:00
HoneyryderChuck
c0afc295a5 fix bug in DoH impl when the request returned no answer (Closes #246) 2023-09-14 13:32:04 +01:00
HoneyryderChuck
ed7c56f12c
Merge branch 'test-for-no-sni-and-san-check' into 'master'
Test for no sni and san check

See merge request os85/httpx!272
2023-09-10 20:11:58 +00:00
HoneyryderChuck
be7075beb8 fix for san check in order to support IPv6 SAN check 2023-09-10 01:09:56 +01:00
HoneyryderChuck
f9a6aab475 add the no-sni-with-san-check test 2023-09-08 23:29:12 +01:00
HoneyryderChuck
cc441b33d8 force variable that may be nil to array for Array#& v0.24.4 2023-09-06 22:52:19 +01:00
HoneyryderChuck
b8d97cc414 bump version to 0.24.4 2023-09-06 22:40:42 +01:00
HoneyryderChuck
eab39a5f99
Merge branch 'issue-243' into 'master'
TLS: support session resumption

Closes #243

See merge request os85/httpx!271
2023-09-06 21:40:10 +00:00
HoneyryderChuck
5ffab53364 disable http2 goaway test for jurby (ssl socket hanging on reconnection, can't figure out the reason yet) 2023-09-06 22:09:56 +01:00
HoneyryderChuck
b24421e18c forcing hostname verification for jruby, since it's turned off by default
https://github.com/jruby/jruby-openssl/issues/284
2023-09-06 22:09:56 +01:00
HoneyryderChuck
487a747544 allow reuse of previously closed connections within the scope of a session
when closed, connections are now placed in a place called eden_connections; whenever a connection is matched for, after checking the live connections and finding none, a match is looked in eden connections; the match is accepted **if** the IP is considered fresh (the input is validated in the cache, or input was an ip or in /etc/hosts, or it's an external socket) and, if a TLS connection, the stored TLS session did not expire; if these conditions do not match, the connection is dropped from the eden and a new connection will started instead; this will therefore allow reusing ruby objects, reusing TLS sessions, and still respect the DNs cache
2023-09-06 22:09:56 +01:00
HoneyryderChuck
ef2f0cc998 ssl: support session resumption on reconnections with same session
when connections get reset due to max number of requests being reached,
the same TLS session is going to be reused, as long as it's valid.

This change is ported from the same feature in net-http, including [the
tls 1.3
improvements](ddf5c52b5f)
2023-09-06 22:09:56 +01:00
HoneyryderChuck
f03d9bb648 fix: ssl handshake correct handling of ip addresses
besides not setting session sni hostname, which it was already doing,
the verify_hostname is set to false to avoid warnings, and the
post_connection_check is still allowed to proceed, to check that the
certificate returned includes the IP address.

port of the similar net-http change found
[here](fa68e64bee)

also ommitting certain steps in the initializer if the ssl socket is
initiated outside of the httpx context and passed as an option.
2023-09-06 22:09:56 +01:00
HoneyryderChuck
0f234c2d7b moved rbs out of the general group 2023-09-05 23:02:51 +01:00
HoneyryderChuck
f4171e3cf5 Merge branch 'fix/digest-improvements' into 'master'
Fix/digest improvements

See merge request os85/httpx!256
2023-08-16 00:24:32 +00:00
HoneyryderChuck
9c831205e0 linting 2023-08-16 01:08:41 +01:00
HoneyryderChuck
a429a6af22 .digest_auth can now support prior hashed ha1 password via :hashed
kwarg

this is something common to store in htdigest files for example, and is
a format supported by webrick as well.
2023-08-16 00:35:46 +01:00
HoneyryderChuck
73484df323 add tests for -sess digest auth 2023-08-08 23:11:02 +01:00
Jonas Müller
819e11f680 Fix typo in README.md 2023-08-04 14:04:56 +01:00
HoneyryderChuck
9b2c8e773d faraday test fix: old faraday does not support stringio inputs 2023-08-01 10:36:54 +01:00