1047 Commits

Author SHA1 Message Date
HoneyryderChuck
01a4122e97 moving common test settings to yaml config, do not load docker:dind everywhere 2020-10-03 11:07:06 +01:00
HoneyryderChuck
2f2d2a69b2 moving hanna-nouveau to jekyll setup, setting up different gemfile in CI 2020-10-03 11:06:51 +01:00
HoneyryderChuck
7376de2cab added missing git, for the wiki 2020-10-03 10:39:06 +01:00
HoneyryderChuck
dbbcf4acda fixed images from previous blog post 2020-10-03 10:26:15 +01:00
HoneyryderChuck
148b1b7f06 fixed coverage link 2020-10-03 10:19:01 +01:00
HoneyryderChuck
0f9256480b fixing wiki in main page 2020-10-03 01:47:13 +01:00
HoneyryderChuck
d50b6505f5 Merge branch 'issue-96' into 'master'
Merge Coverage + CI cache

See merge request honeyryderchuck/httpx!92
2020-10-02 23:38:08 +00:00
HoneyryderChuck
019b41a70c removed the nodocs 2020-10-03 00:28:17 +01:00
HoneyryderChuck
c6535772df fixed link to old class 2020-10-03 00:14:12 +01:00
HoneyryderChuck
851c33fa23 building jekyll and coverage in separate tasks 2020-10-02 19:36:49 +01:00
HoneyryderChuck
9c8adfcb55 enabling merging of coverage reports 2020-09-30 11:45:58 +01:00
HoneyryderChuck
af1437ea39 Merge branch 'blog' into 'master'
two new posts about ruby 2

See merge request honeyryderchuck/httpx!91
2020-09-06 15:19:18 +00:00
HoneyryderChuck
102738348a two new posts about ruby 2 2020-09-06 16:10:43 +01:00
HoneyryderChuck
1b234c3944 Merge branch 'blog' into 'master'
blog post about devise

See merge request honeyryderchuck/httpx!90
2020-08-15 14:45:34 +00:00
HoneyryderChuck
06012bddfb blog post about devise 2020-08-15 15:23:33 +01:00
HoneyryderChuck
e382c1d27f bumped to 0.8.2 v0.8.2 2020-05-06 14:07:10 +01:00
HoneyryderChuck
f814833406 adding extra rdoc files to ship 2020-05-06 14:01:14 +01:00
HoneyryderChuck
5ee4c98650 updating readme info 2020-05-06 14:01:01 +01:00
HoneyryderChuck
2a93eae907 use SecureRandom.gen_random, which is also supported in ruby 2.3, and is where SecureRandom.bytes defers to 2020-05-06 13:47:57 +01:00
HoneyryderChuck
94074088b8 keep_alive: close the http/2 connection if ack ping frame doesn't return the same payload as the sent ping 2020-05-06 13:47:14 +01:00
HoneyryderChuck
b9809077f5 Merge branch 'issue-89' into 'master'
Ping connection on keep alive timeout expired

See merge request honeyryderchuck/httpx!88
2020-05-06 11:38:06 +00:00
HoneyryderChuck
5a99c2f331 Merge branch 'issue-88' into 'master'
HTTP/1: connection: close when necessary.

See merge request honeyryderchuck/httpx!87
2020-05-06 08:50:16 +00:00
HoneyryderChuck
f2cdcd89cd Merge branch 'require-resolvers' into 'master'
require resolvers instead of autoloading

See merge request honeyryderchuck/httpx!89
2020-05-05 23:36:38 +00:00
HoneyryderChuck
4dadbfe534 require resolvers instead of autoloading; we ain't saving that much by autoloading them, and there is a thread-safety penalty manifesting from time to time in the CI, when initiating the resolver and the initialize method isn't there yet 2020-05-04 10:58:29 +01:00
HoneyryderChuck
ecf0960d06 mocking ping behaviour in HTTP/1, as: just admit defeat and open a new connection. There is no reliable way to ping an HTTP/1 connection without fully buffering a request 2020-05-03 16:29:37 +01:00
HoneyryderChuck
bb310dc106 making the connection ping when keep alive timeout is exceeded; this way if the connection is still available, it's reused 2020-05-03 16:28:58 +01:00
HoneyryderChuck
754bb6b5ed Merge branch 'issue-86' into 'master'
:compression_threshold_size

Closes #86

See merge request honeyryderchuck/httpx!86
2020-04-28 10:32:45 +00:00
HoneyryderChuck
1072d7f3ca Merge branch 'issue-87' into 'master'
:expect_threshold_size

Closes #87

See merge request honeyryderchuck/httpx!85
2020-04-28 10:32:13 +00:00
HoneyryderChuck
5dee4497bf added support for connection: close, by:
* sending info on whether the session is in persistent mode to the
request;
* on parser, set keep-alive when persistent, at all times;
* when not persistent, set keep-alive on all requests til the last;
* on error recovery, when resetting to 1 request at a time, still keep
alive to all requests til the last;
* on next error recovery, set connection: close
2020-04-27 01:38:11 +01:00
HoneyryderChuck
7c08527cb9 added support for :compression_threshold_size, in order to bypass compression when not worth it 2020-04-27 00:13:51 +01:00
HoneyryderChuck
93a4b933af added support for :expect_threshold_size, to disable expect: 100-continue based on body bytesize sent 2020-04-26 23:52:14 +01:00
HoneyryderChuck
8df9b06cd0 bumped to 0.8.1 v0.8.1 2020-04-23 23:41:39 +01:00
HoneyryderChuck
74f6c0ae03 Merge branch 'issue-93' into 'master'
fix interest calculation on HTTP/2 handshake

Closes #93

See merge request honeyryderchuck/httpx!84
2020-04-23 13:34:44 +00:00
HoneyryderChuck
88d04bd4ff refain from logging when there weren't any bytes read 2020-04-23 12:04:21 +01:00
HoneyryderChuck
7f7a44b1b4 headers: join field values was missing a whitespace, which was breaking option comparison, which was breaking connection reuse 2020-04-23 12:04:21 +01:00
HoneyryderChuck
2f94004d8f do not let loop indefinitely if ctrl-c is called when looping in the selector 2020-04-23 10:31:39 +01:00
HoneyryderChuck
d29557ef95 fix: when the HTTP/2 connection is in the handshake phase, there might be frames to send 2020-04-23 10:26:23 +01:00
HoneyryderChuck
25c717d29e added missing change to changelog from 0.8.0 2020-04-23 10:25:08 +01:00
HoneyryderChuck
53710aaf37 bump to 0.8.0 v0.8.0 2020-04-23 01:16:15 +01:00
HoneyryderChuck
7aa622c28e Merge branch 'issue-90' into 'master'
Reducing loop/select calls

See merge request honeyryderchuck/httpx!83
2020-04-22 23:53:13 +00:00
HoneyryderChuck
24f1b1426f deleting io monitor (not needed) 2020-04-23 00:39:01 +01:00
HoneyryderChuck
ec6e39d7b9 remove connect call from selector, making it implicit when selecting interests 2020-04-23 00:39:01 +01: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
9a66db3ab4 proxy: add inflight bookkeeping for http proxy; close the connection if receiving connect request error 2020-04-18 17:44:32 +01:00
HoneyryderChuck
1b97001b5f moved check o expect-100 response to the headers callback, as in http2, it doesn't close the stream when waiting for the body (I have no idea how this was working) 2020-04-18 17:43:21 +01:00
HoneyryderChuck
e7181132ab io read: making sure that the read buffer is flushed when one can't read from the io, as we'll need this information later 2020-04-18 17:42:22 +01:00
HoneyryderChuck
203cdb1b8e response: fixed usage of unexisting method 2020-04-18 17:41:10 +01:00
HoneyryderChuck
af2524cf6e abstracted retry request verification to an helper method 2020-04-18 17:40:29 +01:00
HoneyryderChuck
93e30f0abf connection: connect before select
a refactoring was performed on the connection, so they could connect out
of the #to_io call; in order to proper read the interests, it was
thought that it was too late at that point, as interests before #to_io
would be different from post #to_io; this makes our selector less
"portable", as we rely on internal logic being called now
2020-04-18 14:53:04 +01:00
HoneyryderChuck
382139e0a5 wrong timeout class 2020-04-18 01:48:38 +01:00