753 Commits

Author SHA1 Message Date
HoneyryderChuck
03376524fe accepting a connect timeout in the timeout module 2018-11-22 18:07:45 +00:00
HoneyryderChuck
75831ebdb7 parsing altsvc headers alternatively for ruby 2.1 2018-11-22 18:07:45 +00:00
HoneyryderChuck
fba036d3cb properly fail proxy when all proxy options are over (and not fail with a cryptic URI to Hash error) 2018-11-22 18:07:45 +00:00
HoneyryderChuck
706c841e05 refining http-2 client in order to be able to accept settings frame from server and be properly initialized 2018-11-22 18:07:45 +00:00
HoneyryderChuck
5b7762c7b9 added tests for altsvc header parsing 2018-11-22 18:07:45 +00:00
HoneyryderChuck
7b92fa07ea fix alternative channel creation (find before create) 2018-11-22 18:07:45 +00:00
HoneyryderChuck
484da4fd6b set alt-used header on requests routed to altsvc, do not reroute them more 2018-11-22 18:07:45 +00:00
HoneyryderChuck
3d9ac01120 added an #altsvc_match? specific for URIs, where one can successfully match against other altsvc origins AND requests that might be routed through it 2018-11-22 18:07:45 +00:00
HoneyryderChuck
713d5dfb6f allow channels to purge pending requests using #purge_pending, which will delete_if 2018-11-22 18:07:45 +00:00
HoneyryderChuck
7f3ca7e8e5 propagate results of receiving the alt-svc frame, which might arrive just after h2 connection negotiation; for this to be effective, we really have to guarantee negotiation establishment before sending requests, though 2018-11-22 18:07:45 +00:00
HoneyryderChuck
94f335fd2f moved all altsvc-specific logic to AltSvc module; renamed uri to origin where possible; fixed the creation of the alternative channel 2018-11-22 18:07:45 +00:00
HoneyryderChuck
4fb10d9eb8 extending URI API with #origin and #authority, using it everywhere possible 2018-11-22 18:07:45 +00:00
HoneyryderChuck
a8ed199e01 rubocopz 2018-11-22 18:07:45 +00:00
HoneyryderChuck
57aa336c87 make looku0p return an empty array when nothing is there 2018-11-22 18:07:45 +00:00
HoneyryderChuck
9fd6ca9763 allow to build channels for alternative services; provide a way to merge requests; use the store to expire alternative services, noop them (when protocol not supported) 2018-11-22 18:07:45 +00:00
HoneyryderChuck
5a09575263 parsing alternative service header in channel instead, emit event 2018-11-22 18:07:45 +00:00
HoneyryderChuck
e051ea57da added alternative services store 2018-11-22 18:07:45 +00:00
HoneyryderChuck
53787e95ea raise specific error when scheme not supported 2018-11-22 18:07:45 +00:00
HoneyryderChuck
073015f408 added Request#origin 2018-11-22 18:07:45 +00:00
HoneyryderChuck
a1f9f97b2d added parsing and handling of the alt-svc header/frame, and emitting it as a parser event 2018-11-22 18:07:45 +00:00
HoneyryderChuck
bcd4cd5e5c Merge branch 'http-1-parser' into 'master'
HTTP/1 Parser

Closes #34

See merge request honeyryderchuck/httpx!31
2018-11-14 14:40:28 +00:00
HoneyryderChuck
446d561ed5 HTTP/1 Parser 2018-11-14 14:40:28 +00:00
HoneyryderChuck
626c77f758 setting version 0.2.1 v0.2.1 2018-10-24 18:23:23 +01:00
HoneyryderChuck
760cb9f876 Merge branch 'master' of gitlab.com:honeyryderchuck/httpx 2018-10-24 18:17:01 +01:00
HoneyryderChuck
4fffd5d26e added support for passing request-specific options for multiple requests 2018-10-24 18:16:50 +01:00
HoneyryderChuck
8840f4d531 Update README.md 2018-10-16 21:50:47 +00:00
HoneyryderChuck
6a42257c51 basic auth: escape user and password 2018-10-01 20:31:16 +01:00
HoneyryderChuck
c712b31a43 clear error when uri scheme unrecognized 2018-10-01 20:28:45 +01:00
HoneyryderChuck
af8faca3db fixed chainable timeout method not to override all other options 2018-10-01 20:28:13 +01:00
HoneyryderChuck
bb798385b0 bumped to 0.2.0 v0.2.0 2018-09-20 14:36:30 +01:00
HoneyryderChuck
37bbdf1ace fixed API inconsistency with http-2 2018-09-20 14:35:57 +01:00
HoneyryderChuck
d301ce6ab5 unmerge channel to another on uncoalesce; push pending and failed requests which share the same uri to the newly created channel 2018-09-20 14:25:54 +01:00
HoneyryderChuck
1b4463a90f get misdirected request, emit uncoalesce on uri 2018-09-20 12:48:26 +01:00
HoneyryderChuck
032ad0de26 return misdirected request on 421, emit as error 2018-09-20 12:47:47 +01:00
HoneyryderChuck
f683ac7714 added specific misdirected request error (to recover from 421) 2018-09-20 12:44:29 +01:00
HoneyryderChuck
b81d88e234 Merge branch 'issue-31' into 'master'
HTTP/2 Connection Coalescing

See merge request honeyryderchuck/httpx!28
2018-09-04 15:00:08 +00:00
HoneyryderChuck
112ea2a8ac HTTP/2 Connection Coalescing 2018-09-04 15:00:08 +00:00
HoneyryderChuck
c8196b6f91 indentationz 2018-08-29 14:48:37 +01:00
HoneyryderChuck
c79987f76c do not allow the request methods to be called without URIs (closes #29) 2018-08-29 11:32:26 +01:00
HoneyryderChuck
bb89d1230e Merge branch 'ruby-dns' into 'master'
Non-Blocking DNS

Closes #15

See merge request honeyryderchuck/httpx!25
2018-08-29 10:23:08 +00:00
HoneyryderChuck
dcd2709e41 Non-Blocking DNS 2018-08-29 10:23:08 +00:00
HoneyryderChuck
c9abd0abf7 http2: if streams close abruptly, emit error 2018-07-18 14:33:14 +01:00
HoneyryderChuck
c118924d6f don't need to reset the gemfile.lock in the container 2018-07-18 14:21:04 +01:00
HoneyryderChuck
712d0f604a using /get endpoint instead of / 2018-07-04 19:23:08 +01:00
HoneyryderChuck
cd876773ec load proxy plugin if system proxy detected 2018-07-04 18:05:05 +01:00
HoneyryderChuck
3b416fe271 added 0.1.0 link in docs v0.1.0 2018-07-04 17:53:27 +01:00
HoneyryderChuck
d984fe564c bumped to 0.1.0 2018-07-02 16:36:03 +01:00
HoneyryderChuck
d1dfe3b101 release notes 0.1.0 2018-07-02 16:35:41 +01:00
HoneyryderChuck
a95cfe94c1 Merge branch 'proxy-fixes' into 'master'
Proxy fixes

See merge request honeyryderchuck/httpx!26
2018-06-29 17:15:25 +00:00
HoneyryderChuck
4449ea6425 resolved indentation issues in .simplecov 2018-06-29 18:07:35 +01:00