2111 Commits

Author SHA1 Message Date
HoneyryderChuck
03059786b6 Merge branch 'fix-localhost-multihome-happy-eyeballs-connect' into 'master'
fix for happy eyeballs with early-resolved IPs

See merge request os85/httpx!254
2023-06-12 19:39:05 +00:00
HoneyryderChuck
1475f9a2ec fix for happy eyeballs with early-resolved IPs
for instance, in multi-homed networks, ´/etc/hosts` will have both
    "127.0.0.1" and "::1" pointing from localhost; still only one of
    them may be reachable, if a server binds only to "127.0.0.1", for
    exammple. In such cases, the early exit placed to prevent the loop
    from b0777c61e was preventing the dual-stack IP resolve to pass the
    second set of responses, thereby potentiallly making only the
    unreachable IP accessible to the connection.
2023-06-12 20:10:27 +01:00
HoneyryderChuck
8daf49a505 bumped version to 0.23.4 2023-06-09 00:07:32 +01:00
HoneyryderChuck
73468e5424 Merge branch 'issue-237' into 'master'
fix Response::Body#read which rewinds on every call

Closes #237

See merge request os85/httpx!253
2023-06-08 23:02:47 +00:00
HoneyryderChuck
46ce583de3 fix Response::Body#read which rewinds on every call
As per the ruby IO reader protocol, which Response::Body was aimed at
suppoorting since the beginning, the call to #rewind was impeding it
from consuming the body buffer, and instead delivering the same
substring everytime.
2023-06-08 23:47:32 +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
709101cf0f Merge branch 'issue-43' into 'master'
event callbacks

Closes #43

See merge request os85/httpx!229
2023-05-31 19:30:53 +00: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
45c8dcb36b Merge branch 'issue-231' into 'master'
`oauth` plugin

Closes #210

See merge request os85/httpx!252
2023-05-27 22:37:24 +00: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
2dda42cf9f tidying up resolv examples 2023-05-25 16:37:22 +01:00
HoneyryderChuck
e4b9557c8e bumped version to 0.23.3 v0.23.3 2023-05-23 10:38:44 +02:00
HoneyryderChuck
6bdf827c65 Merge branch 'issue-235' into 'master'
Native resolver fixes

Closes #235

See merge request os85/httpx!251
2023-05-22 01:08:11 +00: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
af2da64c62 bugfix: make sure that packet is not exceeded when receiving short packet via tcp socket resolver 2023-05-22 00:43:43 +02:00
HoneyryderChuck
1433f35186 moar tests for native resolver paths 2023-05-22 00:42:52 +02:00
HoneyryderChuck
507339907c bugfix: e is an undefined variable 2023-05-21 23:46:28 +02:00
HoneyryderChuck
1fb4046d52 added test exercising the dns error path 2023-05-21 23:45:38 +02:00
HoneyryderChuck
c71d4048af bumped version to 0.23.2 v0.23.2 2023-05-05 17:25:47 +01:00
HoneyryderChuck
877e561a45 fix unavailable hostname variable
Fixes #234
2023-05-05 14:57:42 +00:00
HoneyryderChuck
1765ddf0f8 fixed test match 2023-05-01 01:19:43 +01:00
HoneyryderChuck
5ad314607d bump version to 0.23.1 v0.23.1 2023-05-01 00:45:56 +01:00
HoneyryderChuck
b154d97438 readd error message on failed resolution 2023-05-01 00:45:35 +01:00
HoneyryderChuck
07624e529f Merge branch 'issue-233' into 'master'
Revert "dns errors: raise error immediately on nxdomain error"

Closes #233

See merge request os85/httpx!250
2023-04-30 23:42:24 +00:00
HoneyryderChuck
a772ab42d0 fix for no candidate queries after the first fails. 2023-05-01 00:20:27 +01:00
HoneyryderChuck
b13b0f86eb Revert "dns errors: raise error immediately on nxdomain error"
This reverts commit 04c5b39600e36ebb38884ff9285cdd66d933d70e.
2023-04-29 23:15:46 +01:00
HoneyryderChuck
9582e17370 bumped version to 0.23.0 v0.23.0 2023-04-29 01:18:57 +01:00
HoneyryderChuck
6937f3fbe4 fix ci job name (pages, to deploy pages) 2023-04-29 00:53:42 +01:00
HoneyryderChuck
cfac38dc62 added more typing, improved correctness of a few checks 2023-04-28 23:57:25 +01:00
HoneyryderChuck
bd233c5303 effort to increase coverage of tests 2023-04-28 23:57:25 +01:00
HoneyryderChuck
56743923f6 enable publishing of coverage 2023-04-28 15:45:18 +01:00
HoneyryderChuck
75867115b2 removing webmock cap, disabling datadog telemetry instead 2023-04-28 13:02:03 +01:00
HoneyryderChuck
4eee045b02 downgrading webmock even more 2023-04-28 12:04:06 +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
ce6c1d2ce5 Merge branch 'issue-217' into 'master'
Removing HTTPX::Registry and its usage internally

Closes #217

See merge request os85/httpx!249
2023-04-28 09:16:45 +00: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
613e95d5f4 Merge branch 'issue-225' into 'master'
native resolver falls back to tcp dns when receiving truncated packet

Closes #225

See merge request os85/httpx!246
2023-04-26 22:18:37 +00:00
HoneyryderChuck
387798fc1a refining soomme signatures 2023-04-26 23:05:45 +01:00
HoneyryderChuck
5b5a360cb8 add absolute domain to bottom of candidates instead 2023-04-25 22:46:54 +01:00
HoneyryderChuck
04c5b39600 dns errors: raise error immediately on nxdomain error
no need to loop into candidates.
2023-04-25 22:46:54 +01:00
HoneyryderChuck
f56f77d836 add udp read IO logging 2023-04-25 22:46:54 +01:00
HoneyryderChuck
55d9139a59 native resolver: clean up candidate queries
dns resolution puts candidate queries in the pipeline, in case the first
one misses, but it wasn't cleaning them up in all situations.
2023-04-25 22:46:54 +01:00
HoneyryderChuck
6bd2fb138e adding native resolver metrics to internal telemetry plugin 2023-04-25 22:46:54 +01:00
HoneyryderChuck
d699526ec2 updated signatures of IO objects 2023-04-25 22:46:54 +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