1868 Commits

Author SHA1 Message Date
HoneyryderChuck
15a4fb83ba options: also freeze inner unfrozen vars; fixed message of resolve
timeout to include host
2022-01-15 01:38:14 +02:00
HoneyryderChuck
f5fcc24aa6 env proxy: added test for connnection reuse 2022-01-15 01:38:14 +02:00
HoneyryderChuck
120c895e25 typo 2022-01-15 01:38:14 +02:00
HoneyryderChuck
b9911025ba fixed linting 2022-01-14 19:07:38 +02:00
HoneyryderChuck
f738fdb306 Merge branch 'bouk1-master-patch-93614' into 'master'
Support passing options in Faraday Adapter

See merge request honeyryderchuck/httpx!192
2022-01-14 16:41:02 +00:00
Bouke van der Bijl
6e52640bd5 Support passing options in Faraday Adapter
The options are passed on to the created Session
2022-01-14 15:48:37 +00:00
HoneyryderChuck
0149317761 Merge branch 'test-mime-type-detectors' into 'master'
added tests for all supported mime type detectors

See merge request honeyryderchuck/httpx!189
2022-01-12 22:41:57 +00:00
HoneyryderChuck
6ce9d16da4 fix backtrace set in regression test 2022-01-12 19:04:57 +02:00
HoneyryderChuck
c3d20c6107 assertion helper: explicit string there to chase very rare CI failure 2022-01-12 15:50:44 +02:00
HoneyryderChuck
779171106b refactoring CI test suite
* run linting first (finish fast if code is unaligned), only on ruby 3.1
* run standalone and regression tests only on CRuby
* do not enable rbs if in jit mode (we should not slow down jits)
2022-01-12 15:50:44 +02:00
HoneyryderChuck
317ed07dba added tests for all supported mime type detectors 2022-01-12 15:50:44 +02:00
HoneyryderChuck
904772bed4 Merge branch 'fixup_warning' into 'master'
Fixup `mismatched indentations` ruby warning

See merge request honeyryderchuck/httpx!190
2022-01-12 13:34:06 +00:00
ojab
60e04412bd
Fixup mismatched indentations ruby warning 2022-01-12 13:10:55 +00:00
HoneyryderChuck
f05dad7785 Merge branch 'fix-filemagic' 2022-01-12 10:54:51 +02:00
HoneyryderChuck
4cec75c33a bumped version to 0.18.7 v0.18.7 2022-01-12 10:54:08 +02:00
HoneyryderChuck
a03a66eb63 fix filemagic: rewind file after mime type detection 2022-01-12 10:52:32 +02:00
HoneyryderChuck
f99abc38e2 Merge branch 'fix-filemagic' 2022-01-12 10:11:50 +02:00
HoneyryderChuck
561b7da590 bumped version to 0.18.6 v0.18.6 2022-01-12 10:10:32 +02:00
HoneyryderChuck
e7f11604f5 added missing constant to multipart filemagic integration 2022-01-12 10:07:44 +02:00
HoneyryderChuck
7a75620e16 Merge branch 'fix-regression-timeout' into 'master'
fix env proxy tests

See merge request honeyryderchuck/httpx!188
2022-01-12 00:01:27 +00:00
HoneyryderChuck
b700a4f994 bootstrapping standalone tests, test which need to run in full-isolation mode (own process), where proxy intgration via env var is tested 2022-01-12 01:43:08 +02:00
HoneyryderChuck
22d18cecdd fixing env proxy again: options class must be looked up, as the default one was somehow cached 2022-01-08 17:48:52 +02:00
HoneyryderChuck
d286bf5cc2 improving the env proxy test 2022-01-08 17:47:58 +02:00
HoneyryderChuck
607288e494 Merge branch 'issue-164' into 'master'
HTTP/2 proxy

Closes #164

See merge request honeyryderchuck/httpx!183
2022-01-08 13:37:03 +00:00
HoneyryderChuck
764ec71a4f native resolver: do not leave timeouts for alreaady resolved hosts around, affects subsequent 2022-01-08 15:22:32 +02:00
HoneyryderChuck
c47c2e8a93 updated grpc versioning in Gemfile 2022-01-08 15:22:32 +02:00
HoneyryderChuck
55464c16c3 removing faraday tests relying on multipart middleware, as it's been removed from core 2022-01-08 15:09:11 +02:00
HoneyryderChuck
5c019c440f added test for testing the env var proxy defs 2022-01-08 15:09:11 +02:00
HoneyryderChuck
7da23ac89c enable connection coalescing for proxied connections 2022-01-08 15:09:11 +02:00
HoneyryderChuck
566421b3c1 enable links on docker allowing to test the env http proxy set up 2022-01-07 12:26:26 +02:00
HoneyryderChuck
fde8ea3276 fix: do not apply timeout errors on inactive conns
when selector emits a timeout error, the full list of connections in the
pool is traversed. This is in itself not very performant, but the
problem is that the accounting is also done with connection which
weren't selected, such as the inactive connections. So we skip this for
them for now.
2022-01-07 12:26:26 +02:00
HoneyryderChuck
9aeaf437ef fix: proxy plugin #next_proxy returns a proxy options hash instead
the #next_proxy function was relying on the existence of a proxy object.
However, in the case of default proxy plugin, this is not the case, and
this is only created later.
2022-01-07 12:26:26 +02:00
HoneyryderChuck
48be2bd13a fix: proxy plugin loaad on http(s)_proxy envvar is working
the grep call was applied on an hash, instead of the keys, and was
therefore not picking up the proxy plugin when it should.
2022-01-07 12:26:26 +02:00
HoneyryderChuck
d3b36c5668 added support for HTTP/2 proxy by simplifying the overall http proxy implementation 2022-01-07 12:26:26 +02:00
HoneyryderChuck
1343c74e31 fixing overwriting connection #transition, which wasn't taking tcp connect on proxy errors 2022-01-07 12:26:26 +02:00
HoneyryderChuck
f3d50e6a06 fix doc typos 2022-01-02 23:38:38 +02:00
HoneyryderChuck
0e9823158a bumped version to 0.18.5 v0.18.5 2022-01-02 23:31:43 +02:00
HoneyryderChuck
8dec7ed093 Merge branch 'ruby-3.1' into 'master'
adding ruby 3.1 to CI

See merge request honeyryderchuck/httpx!187
2022-01-02 20:55:03 +00:00
HoneyryderChuck
c7ee489c78 Merge branch 'issue-176' into 'master'
fix: HTTP/1.1 pipeline disable out of consumption loop

Closes #176

See merge request honeyryderchuck/httpx!185
2022-01-02 20:36:45 +00:00
HoneyryderChuck
ce1033bc0f Merge branch 'issue-177' into 'master'
fix: use passed host header as authority for HTTP/2

Closes #177

See merge request honeyryderchuck/httpx!186
2022-01-02 20:36:33 +00:00
HoneyryderChuck
0fcb55d502 fixed origin uri handling, to make it still quack like a URI::HTTP on uri 0.11 2022-01-02 22:32:54 +02:00
HoneyryderChuck
e0b847585e adding ruby 3.1 to CI 2021-12-31 19:13:34 +02:00
HoneyryderChuck
9596f5a5e1 fix: use passed host header as authority for HTTP/2
"host" header is considered an invalid HTTP/2 header, and I think that,
although we log it, the parser does not send it. However, this is
equivalent to a silent fail. We'll be then copying cURL's behaviour,
i.e. use the user-set "host" as ":authority", but we'll be logging this
behaviour, in case it changes in the future.

Fixes #177
2021-12-31 18:13:59 +02:00
HoneyryderChuck
be4bdb3cf5 fix: HTTP/1.1 pipeline disable out of consumption loop
pipeline disabling may happen on the `handle_error` phase outside of the
main consumption loop, so the `throw` call is out of context, and needs
to be guarded against. we're alreaady doing in the handler, so I'm just
quick-fixing it fow now.

Fixes #176
2021-12-31 17:54:44 +02:00
HoneyryderChuck
dbd2ab66ec doc fixes 2021-12-29 15:06:11 +02:00
HoneyryderChuck
87bb4a4994 bumped to 0.18.4 v0.18.4 2021-12-27 01:40:05 +02:00
HoneyryderChuck
a3a6324d18 Merge branch 'issue-173' into 'master'
alt-svc: yield alt origin as either http or https url, pass proto as an option

Closes #173

See merge request honeyryderchuck/httpx!184
2021-12-26 23:28:09 +00:00
HoneyryderChuck
d4bc21d65c alt-svc: yield alt origin as either http or https url, pass proto as an option 2021-12-27 01:14:33 +02:00
HoneyryderChuck
0878b99946 Merge branch 'issue-170' into 'master'
fix: support webmock retries / response sequences

Closes #170

See merge request honeyryderchuck/httpx!179
2021-12-26 22:06:37 +00:00
HoneyryderChuck
f56619efba fix: support webmock retries / response sequences
The previous implementation of the webmock plugin bypassed the
connection layer, which made it ignore key plugins like the retries
plugin. The whole plugin was redone so that it'd hook at the connection
level when piping requests.

A small difficulty was on how to handle the connection initialization
state when needing to unmock, as name resolving triggers before requests
are piped. A hack with a #once callback was implemented.

Fixes #170
2021-12-26 23:52:10 +02:00