29 Commits

Author SHA1 Message Date
HoneyryderChuck
f68f338e53 enabling debugging with envvar 2017-12-12 21:21:27 +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
5218f5a87b fixed io tests for passed ssl io type 2017-12-11 16:00:07 +00:00
HoneyryderChuck
67ca959535 added test for http2 (for now, testing the ssl layer as well); created intermediate base class for http helpers 2017-12-11 15:59:43 +00:00
HoneyryderChuck
daa2860b60 mobed all http request tests to request helpers 2017-12-11 14:59:40 +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
520d00c715 testing stream-copying the response; added a convenience method, Response#copy_to, to ensure that buffer is properly rewinded, and that the file is simply moved, when its stored in a file and the destination is a file 2017-12-10 18:36:20 +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
4d1205f774 added test for HTTP chunked encoding GET request 2017-12-09 01:11:44 +00:00
HoneyryderChuck
c9b632fb55 added support for chunking requests (sadly, not being able to test it well...) 2017-12-09 01:11:24 +00:00
HoneyryderChuck
71fe46e7ac renamed test file 2017-12-08 22:25:17 +00:00
HoneyryderChuck
8f6bd3b40a added #params test and support (for flat hashes it works, still to be seen about deep hashes...) 2017-12-08 21:12:32 +00:00
HoneyryderChuck
0dc7dac986 fixed headers test 2017-12-08 21:11:32 +00:00
HoneyryderChuck
cef2d04a70 client tests: #request is not a constructor anymore, adapt accordingly 2017-12-08 20:25:21 +00:00
HoneyryderChuck
24eea892bd added way more httpbin tests, all possible verbs, all possible types of bodies (file,form,json,etc...) 2017-12-08 20:24:51 +00:00
HoneyryderChuck
e09c1cbb2f the first specs using httpbin (get and head requests) 2017-12-08 19:04:46 +00:00
HoneyryderChuck
d8eb3bbe5f went back from returning partial responses, and only expose fully buffered responses to the user; the main issue being, the main API favours closing the connection after requests, and this makes the whole handling of partial responses confusing and error prone; this way, one can buffer the body, even to the filesystem, and maybe make this tunable in the future 2017-12-08 19:01:44 +00:00
HoneyryderChuck
690fcaf3d2 default timeout is now the per operation one 2017-12-08 18:45:29 +00:00
HoneyryderChuck
0458ee2016 plugin: allow to extend options as well 2017-12-07 16:45:37 +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
734a187ce1 added tests for request body, fixed #bytesize's 2017-12-06 20:16:05 +00:00
HoneyryderChuck
ee59c71274 allow to return early responses just with headers; added a bufferable body, which means, when body is requests, it fetches it (if not available yet); for this, the selector must be exposed to all sub-levels; the response body by default buffers first/returns later for #to_s, and buffers and yields chunks on #each 2017-12-06 17:20:03 +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
8164ff0bcb added test to client 2017-11-29 02:18:17 +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
HoneyryderChuck
46a1223187 addest tests for headers/request/response 2017-11-28 14:00:16 +00:00