1868 Commits

Author SHA1 Message Date
HoneyryderChuck
b4c61825a7 Merge branch 'issue-194' into 'master'
follow_redirects: Handle only redirect responses with location header

Closes #194

See merge request honeyryderchuck/httpx!206
2022-05-25 22:22:48 +00:00
HoneyryderChuck
d39e7ba8d4 handle 305 redirects via proxy if the plugin is enabled 2022-05-25 18:58:11 +01:00
HoneyryderChuck
e740a38bad follow_redirects: halt redirection if no location header is present in response 2022-05-25 18:58:11 +01:00
HoneyryderChuck
889c2f3f79 Merge branch 'issue-189' into 'master'
Support other auth schemes for proxies (digest, ntlm...)

Closes #189

See merge request honeyryderchuck/httpx!204
2022-05-16 22:15:29 +00:00
HoneyryderChuck
71bb6dc2ce Merge branch 'issue-179' into 'master'
Disable SNI when the URL host is an IP

Closes #179

See merge request honeyryderchuck/httpx!203
2022-05-16 22:15:21 +00:00
HoneyryderChuck
d283a77f7d Merge branch 'issue-193' into 'master'
introducing base_path option

Closes #193

See merge request honeyryderchuck/httpx!205
2022-05-16 22:15:12 +00:00
HoneyryderChuck
0d01f728aa introducing base_path option
This should complement the `:origin` option, in order to provide good
defaults to build REST SDKs around of.

Ex:

```ruby
HTTPX.with(origin: "https://api.this-product.com", base_path: "/v3.1")
```
2022-05-08 17:43:26 +01:00
HoneyryderChuck
193ed76f8f enabling new proxy methods in the curl to ruby script 2022-05-08 17:23:33 +01:00
HoneyryderChuck
c86f4be1a7 reworking auth APIs for a future 1.0 refactoring 2022-05-08 17:23:07 +01:00
HoneyryderChuck
be06032649 adding APIs for running other proxy auth schemes, and adapting internals to work with it 2022-05-07 18:20:07 +01:00
HoneyryderChuck
a316b31e7d fix: SNI is now disabled when the URL host is an IP 2022-05-07 18:17:47 +01:00
HoneyryderChuck
6dcf9f0d75 enabling and adding a test for using proxy digest auth 2022-05-07 16:49:00 +01:00
HoneyryderChuck
817a10a537 scoping http auth schemes out of its plugins, made them usable in proxy
In order to expose other auth schemes in proxy, the basic, digest and
ntlm modules were extracted from the plugins, these being left with the
request management. So now, an extra parameter, `:scheme`, can be
passed (it'll be "basic" for http and "socks5" for socks5 by default,
can also be "digest" or "ntlm", haven't tested those yet).
2022-05-07 13:57:10 +01:00
HoneyryderChuck
e3191f0d6c rubocop lint 2022-05-06 17:58:13 +01:00
HoneyryderChuck
c23cc432e9 bumped version to 0.19.8 v0.19.8 2022-05-06 17:24:12 +01:00
HoneyryderChuck
f54014be3e blog post standing on shoulders 2022-05-06 17:12:47 +01:00
HoneyryderChuck
11e265de54 Merge branch 'fix-datadog-1.0' into 'master'
adapting datadog plugin to datadog 1.0 release

See merge request honeyryderchuck/httpx!202
2022-05-06 16:10:31 +00:00
HoneyryderChuck
42bcfd3a93 adapting datadog plugin to datadog 1.0 release 2022-05-06 13:15:07 +01:00
HoneyryderChuck
7e54db8805 bumped version to 0.19.7 v0.19.7 2022-04-08 09:39:30 +01:00
HoneyryderChuck
e187b2bf58 Merge branch 'issue-188' into 'master'
fix: proxy credentials were not being used

Closes #188

See merge request honeyryderchuck/httpx!200
2022-04-05 23:32:45 +00:00
HoneyryderChuck
637d2f7600 fix: proxy credentials were not being used
a regression from the 0.19.x series was omitting the proxy credentials
when passed directly as proxy options (instead of being part of the URI).

Closes #188
2022-04-05 22:53:45 +01:00
HoneyryderChuck
27268ee228 bumped version to 0.19.6 v0.19.6 2022-04-04 18:22:25 +01:00
HoneyryderChuck
7efe017659 Merge branch 'issue-187' into 'master'
fix: do not subclass session class to make it play along with default class overrides

Closes #187

See merge request honeyryderchuck/httpx!199
2022-04-04 17:19:12 +00:00
HoneyryderChuck
1cf8c68ac6 fix: do not subclass session class to make it play along with default
class overrides

the faraday adapter was relying on subclassing the session to load
custom plugins. this doesn't play well with other integrations
monkeypatching the original session class, such as datadog or webmock,
which redefine it. from now on, we not only defer the creation of the
custom until necessary, we also use Session#plugin

Fixes #187
2022-04-04 12:54:33 +01:00
HoneyryderChuck
603fc0979a bumped version to 0.19.5 v0.19.5 2022-03-30 20:29:44 +01:00
HoneyryderChuck
2a9f56cb44 Merge branch 'issue-186' into 'master'
native resolver:  resolv.conf search option

Closes #186

See merge request honeyryderchuck/httpx!198
2022-03-29 22:06:25 +00:00
HoneyryderChuck
5307b33cb6 more timmeout leeway, using Thread.kill instead (truffleruby tests) 2022-03-29 22:55:01 +01:00
HoneyryderChuck
c55f03dcb5 adding releases jobs 2022-03-29 12:57:50 +01:00
HoneyryderChuck
64f8ebcf51 exposing original hostname in errors when there's a dns error in a candidate name for resolution 2022-03-28 12:51:35 +01:00
HoneyryderChuck
0490175835 removing match overrides (irrelevant) 2022-03-25 06:35:15 +00:00
HoneyryderChuck
2d9d837543 fix: aligning mapping of requests to existing connections
previously, a connection could be created based on request options. The
main problem is that requests may have special headers, which would make
them assign its own connection due to the headers mismatch in headers to
the already open connection to the same origin. This, in certain
scenarios, coupled with the persistent plugin, cascades into multiple
connections to the same host which are never closed.

This fix ensures that connection initial options comes from the session.
This way, it'll never change (as connections exhaust). Alongside that,
matching headers was relaxed to only take into account headers which the
original connection knows, special request headers will then opt out
from this.
2022-03-25 06:35:15 +00:00
HoneyryderChuck
6ad59453ce handling the case where there might not be any connections running in the system resolver 2022-03-23 19:03:30 +00:00
HoneyryderChuck
82a3657153 disabling pattern matching tests for truffleruby 2022-03-21 23:43:38 +00:00
HoneyryderChuck
30df921387 limit candidates resolution to the first resolv call, while also adapting the retries logic in the native resolver 2022-03-20 15:44:12 +00:00
HoneyryderChuck
61c4df243a https resolver: support resolv.conf search and ndots params 2022-03-20 02:29:58 +00:00
HoneyryderChuck
53ee7ae225 native resolver: support resolv.conf search and ndots params 2022-03-20 02:25:39 +00:00
HoneyryderChuck
7528b607f8 missing in changelog line 2022-03-06 17:27:31 +00:00
HoneyryderChuck
35d9c15f44 bumped version to 0.19.4 v0.19.4 2022-03-06 17:22:17 +00:00
HoneyryderChuck
f01b543d79 Merge branch 'jruby-openssl-h2' into 'master'
Native JRuby h2 support

See merge request honeyryderchuck/httpx!197
2022-03-06 16:51:28 +00:00
HoneyryderChuck
552d0d859c fix truffleruby build 2022-03-06 16:33:35 +00:00
HoneyryderChuck
d2a7cf3236 bug 0.19.3 regression: remove the actual HTTP requests from the tests
only the DNS part is relevant for the test, and performing the actual
requests fail intermitently in CI, making the pipelines fail constantly.
2022-03-06 16:18:13 +00:00
HoneyryderChuck
c989a14435 native resolver fix: do not signal interests when there's nothing to do (was generating bursty IO) 2022-03-06 15:40:48 +00:00
HoneyryderChuck
b3ddad06e5 resolver: do not mutate early resolve addresses, as it may mutate cached results 2022-03-05 23:15:59 +00:00
HoneyryderChuck
d77a5cb50e fix: only go with the coalesce path if the connections actually coalesced 2022-03-05 23:14:33 +00:00
HoneyryderChuck
e9a81d6b16 enabled h2 tests which were blocked for jruby 2022-03-05 17:33:37 +00:00
HoneyryderChuck
8eee10be21 regenerated test certs, keeping ca.crt around this time 2022-03-04 23:43:05 +00:00
HoneyryderChuck
a4a60290ac jruby: add test root certificate via keytool 2022-03-04 23:43:05 +00:00
HoneyryderChuck
0e6e879eef removing ffi-based custom openssl for jruby 2022-03-03 12:46:29 +00:00
HoneyryderChuck
411e8d0ab1 fixed linting 2022-02-24 01:27:06 +00:00
HoneyryderChuck
4e9c775e86 Merge branch '2022-02-23-fix-webmock-adapter-to-build-uri-with-query' into 'master'
Fix `WebMock` adapter to use `request.query` to build request signature

See merge request honeyryderchuck/httpx!196
2022-02-24 01:14:32 +00:00