26 Commits

Author SHA1 Message Date
HoneyryderChuck
698050363a refactored h2c to use the connection methods; moving options around match?, as they'll be crucial to reimplement in plugins 2019-04-29 15:04:00 +00:00
HoneyryderChuck
622188c0ab updated rubocop, added a few changes... 2018-12-28 02:44:43 +00:00
HoneyryderChuck
dcd2709e41 Non-Blocking DNS 2018-08-29 10:23:08 +00:00
HoneyryderChuck
daa843504c Merge branch 'unixsock' into 'master'
Unixsock

Closes #24

See merge request honeyryderchuck/httpx!20
2018-06-07 11:34:27 +00:00
HoneyryderChuck
a54fab5998 remove traces of the retries parameter, which wasn't being used anyway 2018-06-06 17:48:44 +01:00
HoneyryderChuck
b7e875a761 rubocoped this 2018-05-28 10:00:54 +01:00
HoneyryderChuck
5b4c465c72 allow to pass transport type (tcp, ssl, unix)and a transport options 2018-05-25 15:55:41 +01:00
HoneyryderChuck
2b1ab8b6b6 rubocop auto-corrections according to some basic rules for now 2018-01-28 22:33:41 +00:00
HoneyryderChuck
c4811c01f8 added support for rubies between 2.1 and 2.5 (polyfills) 2018-01-28 20:13:04 +00:00
HoneyryderChuck
72b90c3f17 added support for plugin pimping the request body, remove the content-encoding logic there 2018-01-14 22:45:54 +00:00
HoneyryderChuck
65722a3b12 changed timeout so it relies on a loop timeout and a global timeout; both can be disabled 2018-01-13 15:42:34 +00:00
HoneyryderChuck
30fcdfeb2c http2: added http2_settings as configurable options 2018-01-08 22:29:14 +00:00
HoneyryderChuck
48e55a7ca2 removing :proxy options from base class, adding them with the plugin 2017-12-20 19:14:19 +02:00
HoneyryderChuck
193828527b added debug_level option, which can make logs more verbose 2017-12-19 13:06:51 +02:00
HoneyryderChuck
0c307c82c3 removing the cookies test from options 2017-12-19 13:05:54 +02:00
HoneyryderChuck
89298be707 allow debug option, which can be passed the logger (must respond to #<<); using it in the debug logger for http1 payload and http2 frames 2017-12-13 01:23:38 +00:00
HoneyryderChuck
e6a5fbdf45 passing fallback protocol as option; this will allow to override, specially in the case when user knows that server can do unencrypted http/2 2017-12-11 22:28:12 +00:00
HoneyryderChuck
4e094f79d0 ssl options: passing alpn fixtures as ssl default options; this will allow disabling, and will centralize defaults 2017-12-11 16:02:51 +00:00
HoneyryderChuck
15a5ffffdd allow to pass a custom body class, which only needs to implement the constructor signature and #<< 2017-12-11 13:10:58 +00:00
HoneyryderChuck
40a73f5a7b made body threshold size (the max buffered size after which the response body is buffered to disk) a top-level option 2017-12-11 12:43:05 +00:00
HoneyryderChuck
94cb9b63d9 moved window size to options, changed it to 16K 2017-12-10 20:37:27 +00:00
HoneyryderChuck
824efb83fd allow IOs to be passed as argument; they are expected to be connected already, and won't be closed after use; if passed only one, assume that all requests are going through it, otherwise, pass them as an hash indexed by IP or IP:PORT 2017-12-10 00:29:06 +00:00
HoneyryderChuck
690fcaf3d2 default timeout is now the per operation one 2017-12-08 18:45:29 +00:00
HoneyryderChuck
15a972df32 added tests to the req/rep/head factory classes, and to the plugin module 2017-12-07 01:07:17 +00:00
HoneyryderChuck
7cc2f66eed added retryability, in that certain errors (for http2 now, rst_stream ones); added a max concurrent requests setting, which governs how many concurrent requests might be inflight (besides the obvious settings handled by the lower layer) 2017-12-06 14:27:58 +00:00
HoneyryderChuck
a214891fa1 added timeouts backend like http, integrated it in connecting sockets, and performing selector operations; the global one still needs work though (currently connecting one by one, connection not integrated in selector) 2017-11-29 00:07:49 +00:00