1901 Commits

Author SHA1 Message Date
HoneyryderChuck
c7d73d09b8 coalescing: do not try to use a self-signed certificate for coalescing verification purposes 2021-11-17 21:35:31 +00:00
HoneyryderChuck
f31b06c150 improving servlet layer to be able to quickly build an HTTP2 test server 2021-11-17 21:34:16 +00:00
HoneyryderChuck
d25b61fa00 set mfa required in gemspec 2021-11-16 15:07:08 +00:00
HoneyryderChuck
7e73c3a066 Merge branch 'issue-159' into 'master'
Fix for HTTP/1 logging on pipelining

Closes #159

See merge request honeyryderchuck/httpx!175
2021-11-16 14:57:06 +00:00
HoneyryderChuck
17d05e987d fixed cond around waiting for localstack to come up again 2021-11-14 02:56:32 +00:00
HoneyryderChuck
72924e420b fixing HTTP/1 logging on pipelining, where the buffered requests would appear in the second request log 2021-11-14 02:56:32 +00:00
HoneyryderChuck
b18b715818 some small rbs improvemments 2021-11-13 11:09:29 +00:00
HoneyryderChuck
8a8e0998df bumping version to 0.18.0 v0.18.0 2021-10-02 23:53:07 +01:00
HoneyryderChuck
34405df522 skipping vary test 2021-10-02 01:21:40 +01:00
HoneyryderChuck
11a02946ad Merge branch 'issue-122' into 'master'
Response Cache plugin

Closes #122

See merge request honeyryderchuck/httpx!171
2021-10-01 23:52:10 +00:00
HoneyryderChuck
b2a5371fe2 fix missing var 2021-10-02 00:27:37 +01:00
HoneyryderChuck
8f00539d6d bigger delta overall for timer-based tests 2021-10-02 00:19:53 +01:00
HoneyryderChuck
a3ee98f410 implementation of the response cache plugin 2021-10-01 23:53:21 +01:00
HoneyryderChuck
911c803d83 added test for vary header handling 2021-10-01 23:38:38 +01:00
HoneyryderChuck
a60fde07d6 added plugin tests, and the plugin body 2021-10-01 23:38:38 +01:00
HoneyryderChuck
5bafed433a Merge branch 'issue-157' into 'master'
Fixing AWS apis

Closes #157

See merge request honeyryderchuck/httpx!173
2021-10-01 22:38:04 +00:00
HoneyryderChuck
bdcd4b31b5 aws_sdk plugin: removing S3 plugin APIs, replacing it with barebones aws-sdk-core components 2021-10-01 23:20:19 +01:00
HoneyryderChuck
8f5c45225b removing aws-sdk-s3 constraint in sigv4 plugin (does not require anything aws-sdk related) 2021-10-01 23:20:19 +01:00
HoneyryderChuck
a076da6549 disable h2 upgrade test for 2.3 2021-10-01 22:29:41 +01:00
HoneyryderChuck
c2131c8e41 disable ssl verify for nghttp2, letsencrypt expired cert + old openssl, thx 2021-10-01 18:00:34 +01:00
HoneyryderChuck
f4dea3cc10 Merge branch 'fix-timers' into 'master'
Fix timers and remaining busy loops on multi-requests

See merge request honeyryderchuck/httpx!174
2021-10-01 14:58:13 +00:00
HoneyryderChuck
01efc4405c usinng better base images 2021-09-30 02:27:10 +01:00
HoneyryderChuck
03d57a918f bump to latest jruby 2021-09-27 16:18:02 +01:00
HoneyryderChuck
1e4177a079 allow connections to be closed before they even started, if some error coming from the parser requires it (can happen if user input is evaluated in httpx time and fails) 2021-09-27 16:18:02 +01:00
HoneyryderChuck
eb5bdc1fe6 telemetry: fixed visibility of #close; more log data 2021-09-27 16:18:02 +01:00
HoneyryderChuck
207ecb2da0 bugfix: making https resolver subscribe to the right pool
(such as when it's overwritten, such as in the case of SessionWithPool Module)
2021-09-27 16:18:02 +01:00
HoneyryderChuck
efddd72caa removing persistent connections from the selector whe inactive
keeping them around was resulting in some busy loops on timer events
(i.e. retry after), making them unreliable, innacurate  and CPU
draining. they're now kept out whenever they're inactive.
2021-09-27 16:18:02 +01:00
HoneyryderChuck
edf7357a5f improved persistent plugin test, in order to test not only the number of connections kept, but the ones actually being used for selecting (connections with no request shouldn't) 2021-09-25 00:44:31 +01:00
HoneyryderChuck
52948e0f83 bugfix: prevent stream close callback from being called 2 times
an issue was observed when stream was closed from our side, that the
the request in-flight count on the connection. This was fixed by not
reacting to :stream_closed events if request has been previously deleted.
2021-09-23 12:12:48 +01:00
HoneyryderChuck
81a41d889c bugfix: remove connections from selector which have been unregistered
during interest calculation

A quirk was found whereby a connection which failed while connecting
(such as the badssl test) was properly unregistered from the pool, was
however kept in the selectables selector pool, because if this operation
happening during the interest calculation pool, and the var substitution
being performed right afterwards, leaving the pool and selector out of
sync and causing all sorts of miscalculations around timers later on.
2021-09-22 12:53:33 +01:00
HoneyryderChuck
6425e5d8ee moved calculation of pool timeout to #next_timeout fully 2021-09-22 12:48:40 +01:00
HoneyryderChuck
c1881dc65b preparing for URI::HTTP#origin in mainline 2021-09-22 12:48:40 +01:00
HoneyryderChuck
bd1946999f improving retry logs 2021-09-22 12:48:40 +01:00
HoneyryderChuck
718cda2240 Merge branch 'issue-155' into 'master'
custom timers

Closes #155

See merge request honeyryderchuck/httpx!168
2021-09-20 16:51:53 +00:00
HoneyryderChuck
13e865e488 hiding monotonic time funcs under the utils API 2021-09-20 16:16:20 +01:00
HoneyryderChuck
fcc29b2fb1 missing variable to disable jitter under tests 2021-09-20 13:50:48 +01:00
HoneyryderChuck
27d81f3090 introduce custom timer to replace Timers::Group
The HTTPX::Timers class mimicks the same top-level API as its
predecessors, but simplifies its implementation. Adding a timer will
resort all timers, while lookups are roughly the same complexity. The
key difference is that callbacks are now aggregated by interval, i.e.
different requests setting the same timeout, will reuse the same timer.
This is a more simple design than Timers::Group, which stores timers in
a binary search tree; the latter will perform well in any environment,
whereas the first one is more tailored for the use-case of httpx, where
most of the times no timers will be set, and when they do, the same
timer will be reused for all requests because they usually have the same
set of options (and therefore timeouts).
2021-09-20 13:19:55 +01:00
HoneyryderChuck
5146cfae44 fixing the --frontend declaration for nghttpx (CI) 2021-09-20 13:19:55 +01:00
HoneyryderChuck
9d861c3c2f total_timeout does not rely on Timers#after
Instead, timeout accounting is done using total_timeout math. It
supersedes all other timeouts in the connection, and will start from th
moment the connection is established.
2021-09-20 13:19:55 +01:00
HoneyryderChuck
b0e057c15d reworked the keep-alive timer logic to not rely on Timers#after 2021-09-20 13:19:55 +01:00
HoneyryderChuck
bdacaf1d41 Merge branch 'issue-153' into 'master'
Improving API compatibility and error checking in responses

Closes #156 and #153

See merge request honeyryderchuck/httpx!170
2021-09-20 12:19:32 +00:00
HoneyryderChuck
4014d4ec2c Merge branch 'issue-152' into 'master'
ErrorResponse#to_s should not contain tty color codes

Closes #152

See merge request honeyryderchuck/httpx!169
2021-09-20 12:19:22 +00:00
HoneyryderChuck
a31a315e08 deprecating ErrorResponse#status 2021-09-20 13:02:20 +01:00
HoneyryderChuck
f768cf7a0e Improving API compatibility and error checking in responses
* `Response#error`, which, coupled with `ErrorResponse#error`, allows
  for `if response.error` kind of conditional;
* `Response#raise_for_status` now returns the response when no error is
  raise (for method chaining);

Closes #153
2021-09-20 13:02:20 +01:00
HoneyryderChuck
cdce779e44 ErrorResponse#to_s should not contain tty color codes (Closes #152) 2021-09-20 13:01:59 +01:00
HoneyryderChuck
57b74aa144 Merge branch 'fix-jitter-tests' into 'master'
Fix jitter tests

See merge request honeyryderchuck/httpx!172
2021-09-20 12:01:21 +00:00
HoneyryderChuck
dce5c22fa0 fixing latest rubocopz 2021-09-20 12:37:48 +01:00
HoneyryderChuck
6e6c7848cc making jitter a retry plugin option 2021-09-20 12:37:48 +01:00
HoneyryderChuck
cebb606964 fixing jitter-based test assertion 2021-09-12 23:16:08 +01:00
HoneyryderChuck
3b85678834 Merge branch 'issue-150' into 'master'
retries: apply some jitter on the retry after value

Closes #150

See merge request honeyryderchuck/httpx!167
2021-09-12 16:37:52 +00:00