39 Commits

Author SHA1 Message Date
HoneyryderChuck
8eeafaa008 omit faraday/datadog tests which uncovered a bug 2025-02-11 00:46:18 +00:00
HoneyryderChuck
c23561f80c linting... 2024-11-19 12:55:44 +00:00
Earlopain
5f8bc74f0b
Add rubocop-md to check ruby code blocks 2023-11-17 09:33:05 +01:00
HoneyryderChuck
7473af6d9d removed punycode ruby implementation inherited from domain_name
it's IDNA 2003 compliant only, and people can already load idnx
optionally.
2023-09-20 17:57:05 +01:00
HoneyryderChuck
0f988e3e9f adding session lifecycle callbacks 2023-05-31 20:06:59 +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
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
42bcfd3a93 adapting datadog plugin to datadog 1.0 release 2022-05-06 13:15:07 +01:00
HoneyryderChuck
35d9c15f44 bumped version to 0.19.4 2022-03-06 17:22:17 +00:00
HoneyryderChuck
6d33b5e59f adding support for tempfile sigs, other improvements 2022-01-16 22:54:56 +02:00
HoneyryderChuck
921d1f6371 removing resolver_ios cache from pool (did not have accurate values, not really useful since selector avoid doubler registries already) 2022-01-16 22:53:36 +02: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
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
HoneyryderChuck
c96c79537a disabling cops that don't bring benefit 2021-09-04 15:25:14 +01:00
HoneyryderChuck
c95e926886 auto-corrected the easy ones first 2021-09-03 12:24:18 +01:00
HoneyryderChuck
21a18652c6 enable new cops 2021-09-02 14:22:08 +01:00
HoneyryderChuck
1a0962615b only run rubocop for latest ruby
the rubocop configs have grown a bit unwieldy as more ruby versions are
deprecated by mainline. Given that rubocop is not a requisite for older
rubies (provided code works), let's keep linting consistency towards
more modern conventions
2021-08-31 16:58:38 +01:00
HoneyryderChuck
9a1f895ff6 rubocop: adapting target ruby to 2.7 2021-06-12 02:44:16 +01:00
HoneyryderChuck
e3468fb3c4 isolating the punycode module 2021-06-11 14:44:07 +01:00
HoneyryderChuck
c9427ca21f renamed files 2021-06-02 18:59:49 +01:00
HoneyryderChuck
a14fa26c7c added new regression testing task 2021-06-02 18:44:05 +01:00
HoneyryderChuck
73de78efa6 fixed rubocop's new minor version hassles
also, changed the target ruby version, first time this ever happens.
2021-04-20 10:45:27 +01:00
HoneyryderChuck
ad88aa27cf added more level 3 logging using a custom telemetry plugin, which is internal use only
this will therefore not be documented.
2021-02-15 17:20:41 +00:00
HoneyryderChuck
2ecfde95d8 fixing cerfificate hostname validation callback 2021-01-31 15:51:34 +00:00
HoneyryderChuck
dbc12a91b5 importing tests from webmock 2021-01-01 16:56:36 +00:00
HoneyryderChuck
1b26977d16 updated rubocop to 1.0.0 on possible rubies, making the necessary changes 2020-11-07 15:36:21 +00:00
HoneyryderChuck
f977db76ef connection: perform all io in #consume
when condensing all io in the same method, one can now infer whether the
socket can process read/write still, thereby not needlessly sending it
to IO.select. This makes it for more efficient usage of cpu time.

Now we just need to do the same with the connect phase...
2020-04-23 00:39:01 +01:00
HoneyryderChuck
4997548d95 do not use the select_one variant for ruby 2.1, as there is a deadlock on ssl connect that is triggered in a test 2020-04-13 15:23:20 +01:00
HoneyryderChuck
97a727b286 added profiler helpers; also, gave a polish to the rubocop file 2020-04-12 03:32:04 +01:00
HoneyryderChuck
f8256a7dba indentation 2020-03-07 00:53:34 +00:00
HoneyryderChuck
c73d6ff3d9 updated rubocop, made necessary changes for syntax to be approved 2019-12-30 02:44:47 +00:00
HoneyryderChuck
ae859f743f request exposes options: this allows responses to be created with the proper set of options, instead of the connection options, which is wrong 2019-05-06 11:56:11 +00:00
HoneyryderChuck
0668ff6d92 added separate configs per ruby version, which helps keeping up the level of granularity way better than just having a single rubocop_todo.yml; fixed a few cases based on some missing cops 2018-12-28 14:13:38 +00:00
HoneyryderChuck
dcd2709e41 Non-Blocking DNS 2018-08-29 10:23:08 +00:00
HoneyryderChuck
75e1012070 fixed rubocop.yml namespace issue 2018-06-29 17:49:34 +01:00
HoneyryderChuck
79c7d72f2a bumped rubocop to 0.54 2018-03-26 17:16:41 +01:00
HoneyryderChuck
d0a0955575 added gitlab pages dir, using jekyll 2018-02-18 14:24:07 +00:00
HoneyryderChuck
861d69c409 fixed all remaining rubocop fails 2018-01-28 23:01:33 +00:00
HoneyryderChuck
2b1ab8b6b6 rubocop auto-corrections according to some basic rules for now 2018-01-28 22:33:41 +00:00