636 Commits

Author SHA1 Message Date
HoneyryderChuck
4b058cc837 replaced endpoint used to test udp-to-tcp dns upgrade 2023-07-05 22:55:08 +01:00
HoneyryderChuck
244563720a proxy plugin: fail early if proxy scheme is not supported
The error which it was appearing when erroneously using "https" in a
proxy url was too cryptic.
2023-06-26 15:54:16 +01:00
HoneyryderChuck
0397d6d814 omit ntlm tests from recent ruby test pipelines (ciphers unsupported in recent openssl default mode) 2023-06-15 15:31:39 +01:00
HoneyryderChuck
d24cf98785 add test for case when body only responds to #length 2023-06-13 17:43:00 +01:00
HoneyryderChuck
896253bcbc testing response cache internal store 2023-06-13 17:34:57 +01:00
HoneyryderChuck
32188352a5 test jitter with retries plugin 2023-06-13 17:13:51 +01:00
HoneyryderChuck
b9b2715b10 improve coverage of altsvc and resolver modules 2023-06-13 16:54:19 +01:00
HoneyryderChuck
0555132740 integrate mutex_m in signatures 2023-06-12 20:42:57 +01:00
HoneyryderChuck
9342f983d5 improved coverage of response_cache plugin
and fixed a bug in the process
2023-06-12 20:42:57 +01:00
HoneyryderChuck
eb0291ed87 :circuit_breaker plugin: added support for .on_circuit_open callback
called when a circuit is open.

```ruby
HTTPX.plugin(:circuit_breaker).on_circuit_open do |req|
  # ... do smth
end
2023-06-12 20:42:57 +01:00
HoneyryderChuck
f066bc534f fixed Response::Body#read test, which didn't really test for equality, and was therefore broken 2023-06-08 23:24:34 +01:00
HoneyryderChuck
0d969a7a3c errors in response chunk handling will now bubble up and force the connection to close 2023-05-31 20:17:27 +01:00
HoneyryderChuck
0f988e3e9f adding session lifecycle callbacks 2023-05-31 20:06:59 +01:00
HoneyryderChuck
9bcae578d7 recover from errors on response chunk processing
first attempt at more granular error handling: during response chunk processing, errors will be handled in a way where current response stops being fetched; for http/1, the connection is fully reset, for http/2, the individual stream is cancelled
2023-05-31 11:24:21 +01:00
HoneyryderChuck
5655c602c7 the oauth plugin 2023-05-25 16:45:25 +01:00
HoneyryderChuck
af38476a14 test for oauth plugin 2023-05-25 16:37:22 +01:00
HoneyryderChuck
ddffe33bcd removing ruby 2.3 from CI 2023-05-22 01:58:02 +02:00
HoneyryderChuck
f193e164ff cleaning up resolver test artifacts 2023-05-22 01:09:40 +02:00
HoneyryderChuck
1433f35186 moar tests for native resolver paths 2023-05-22 00:42:52 +02:00
HoneyryderChuck
1fb4046d52 added test exercising the dns error path 2023-05-21 23:45:38 +02:00
HoneyryderChuck
bd233c5303 effort to increase coverage of tests 2023-04-28 23:57:25 +01:00
HoneyryderChuck
5f079f8fc0 downgrading to webmock 3.18.0
Identifying an issue when running datadog and webmock in tandem, and
running webmock 3.18.1.
2023-04-28 11:23:43 +01:00
HoneyryderChuck
899b2df94f only test integrations with latest ruby, some telemetry stuff firing from the datadog sdk... 2023-04-27 23:47:55 +01:00
HoneyryderChuck
bbf257477b Removing HTTPX::Registry and its usage internally
These internnal registries were a bit magical to use, difficult to
debug, not thread-safe, and overall a nuisance when it came to type
checking. So long.
2023-04-27 22:49:20 +01:00
HoneyryderChuck
6aacc9b0eb native resolver falls back to tcp dns when receiving truncated packet
yet another compliance fix for the DNS protocol; while udp is the
preferred transport, in case a truncated response is received, the
resolver will switch to tcp, and performm the DNS query again.

This introduces a new resolver option, `:socket_type`, which is `:udp`
by default.
2023-04-25 22:46:54 +01:00
HoneyryderChuck
5bba381bb8 added test for resolving a domain which results in a large/truncated UDP response packet 2023-04-25 22:46:54 +01:00
HoneyryderChuck
62a241b22e fix CI ruby 2.3 build which could not download iptables package 2023-04-25 22:34:05 +01:00
HoneyryderChuck
a3add3c721 Merge branch 'fix-no-proxy' into 'master'
fix proxy discovery using proxy env vars

See merge request os85/httpx!242
2023-04-24 10:35:47 +00:00
HoneyryderChuck
673d210fd8 fix tests not being adjusted 2023-04-18 02:34:11 +03:00
HoneyryderChuck
ee4caa552b bugfix: digest auth enabled session wasn't working if session did not have digest credentials setup yet 2023-04-18 02:08:21 +03:00
HoneyryderChuck
ba21f83827 improve coverage of cookie and aws authentication tests 2023-04-18 02:06:47 +03:00
HoneyryderChuck
8105e1128e introduce :buffer_size option
this allows to tweak connection buffer sizes, which may help optimizing
memory usage, and in this case, test the resumable retries.

wip
2023-04-17 18:09:24 +03:00
HoneyryderChuck
cb523794d7 retries: allow for resuming requests using ranges
a new feature is introduced in the `retries` plugin, whereas if an error
occurred midway response payload transfer, and the peer server signaled
(via `"accept-ranges"`) that accepts range requests, the retried request
will attempt to start over from where the previous request left off.
2023-04-17 17:19:41 +03:00
HoneyryderChuck
092e594a4b Request.verb is now an upcased string (ex: "GET")
The reference for a request verb is now the string which is used
everywhere else, instead of the symbol corresponding to it. This was an
artifact from the import from httprb, and there is no advantage in it,
since these strings are frozen in most use cases, and the
transformations from symbol to strings being performed everywhere are
prooof that keeping the atom isn't really bringing any benefit.
2023-04-17 16:54:31 +03:00
HoneyryderChuck
df26c97e38 changed http based tests, added #scheme, using it to correctly set no proxy domain 2023-03-29 23:00:50 +01:00
HoneyryderChuck
ea61cce815 print ruby version in tests 2023-03-29 00:12:19 +01:00
HoneyryderChuck
487cac6eef do not test ruby 2.1 and 2.2 in CI
can't build the required docker imaged anymore...
2023-03-28 23:41:37 +01:00
HoneyryderChuck
3bcf5bd5f6 renewing certs 2023-03-27 23:00:58 +01:00
HoneyryderChuck
7a76af352b fix linting 2023-03-27 22:40:55 +01:00
HoneyryderChuck
b803da48e1 updated datee for cookies test, as it's overdue 2023-02-27 19:18:01 +00:00
Chris AtLee
563b8e93c2 Exit from run early if we have no handlers
Fixes: #226
2023-02-03 10:18:16 -05:00
HoneyryderChuck
d0fcd13bf2 moving regression tests outside of docker 2023-01-25 00:58:49 +00:00
HoneyryderChuck
70511846cc only run regression tests in ruby 3.2 2023-01-22 01:16:05 +00:00
HoneyryderChuck
b2cad74b03 Merge branch 'issue-223' into 'master'
fix happy eyeballs v2

Closes #223

See merge request os85/httpx!231
2023-01-21 16:41:35 +00:00
HoneyryderChuck
133a6b3d4a simplify tcp connect error recovery loop 2023-01-21 00:51:03 +00:00
HoneyryderChuck
f12c90f0ea adding error to faraday env on parallel failed requests 2023-01-20 23:57:07 +00:00
HoneyryderChuck
36c840ba5c Merge branch 'catlee/parallel_no_raise' into 'master'
Don't raise_for_status automatically in the Faraday adapter

Closes #224

See merge request os85/httpx!232
2023-01-20 17:28:25 +00:00
HoneyryderChuck
8dae534bd0 faraday adapter: do not raise errors on parallel requests
instead, fill up the response with the same gibberish as typhoeus.
2023-01-20 17:18:36 +00:00
HoneyryderChuck
2e7d33f917 adding ruby 3.2 to CI 2023-01-20 10:39:22 +00:00
Chris AtLee
0c9fcdb60a Enable RaiseError middleware 2023-01-19 16:13:11 -05:00