1878 Commits

Author SHA1 Message Date
HoneyryderChuck
b4a20016f2 bumped version to 0.20.0 v0.20.0 2022-05-31 11:36:32 +01:00
HoneyryderChuck
6a7bf30b58 Merge branch 'issue-191' into 'master'
Sentry Integration

Closes #191

See merge request honeyryderchuck/httpx!208
2022-05-30 21:52:53 +00:00
HoneyryderChuck
7383347147 implementation of the sentry plugin integration 2022-05-27 16:02:52 +01:00
HoneyryderChuck
281ac03cda added tests and scaffold 2022-05-26 23:45:20 +01:00
HoneyryderChuck
4a0bfa3544 Merge branch 'issue-174' into 'master'
altsvc improvements

Closes #174

See merge request honeyryderchuck/httpx!207
2022-05-25 22:28:18 +00:00
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
38152e8dee fix vary header handling to deal with capitalized, test the path
directly in store
2022-05-25 23:15:30 +01: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
b6819de30c ennabling cache test again 2022-05-23 23:56:43 +01:00
HoneyryderChuck
56cdc2c75c test the altsvc cache clear path 2022-05-23 23:51:49 +01:00
HoneyryderChuck
f14016774d altsvc: ensuring origin hostname is used during TLS handshake to alternative services
this means that finding a compatible connection got a bit more
expensive, due to options equality needing to account for extra sni
hostname.
2022-05-23 23:35:01 +01:00
HoneyryderChuck
675a2aa547 do not allow downgrading from https to http during altsvc handshake 2022-05-23 00:17:49 +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