HoneyryderChuck
|
128b5fc97e
|
allowing to extend http2 channel for proxies; simplified proxy argument (uri instead of proxy_uri)
|
2017-12-22 09:18:12 +02:00 |
|
HoneyryderChuck
|
6f2d4c1540
|
added supported for authenticated proxy requests (didn't test it yet, though)
|
2017-12-21 17:09:28 +02:00 |
|
HoneyryderChuck
|
eac3955892
|
comment about the site for ssl proxies
|
2017-12-21 17:08:54 +02:00 |
|
HoneyryderChuck
|
da97b19161
|
proxyssl: resetting the ip and port, as the main class will try to eager load it (which is in itself already bad, because it's at least one dns request, and might fail if not possible to query, which is what usually happens behind a proxy)
|
2017-12-21 17:02:45 +02:00 |
|
HoneyryderChuck
|
14d32ef52a
|
proxy: added support to HTTP_PROXY and family; for this, one is binding the proxy channel late in the game, based on the request uris
|
2017-12-21 17:01:28 +02:00 |
|
HoneyryderChuck
|
c0189c46e6
|
closing parser in transition call
|
2017-12-21 16:24:36 +02:00 |
|
HoneyryderChuck
|
f9d6ad0fd0
|
requests: improved headline granularity; removed some proxy request header logic
|
2017-12-21 16:24:24 +02:00 |
|
HoneyryderChuck
|
44acebf424
|
proxy channel is now a state machine
|
2017-12-21 16:12:43 +02:00 |
|
HoneyryderChuck
|
359a74437a
|
removed unused variables
|
2017-12-21 16:06:38 +02:00 |
|
HoneyryderChuck
|
d68abd5fbc
|
proxy: better naming for modules
|
2017-12-21 15:36:43 +02:00 |
|
HoneyryderChuck
|
acf0641e0e
|
moving ProxySSL to plugin
|
2017-12-21 15:36:19 +02:00 |
|
HoneyryderChuck
|
af3a81b7a2
|
proxy: added multiple possible proxies to choose (for now it's a static list, but these might become unavailable, added dynamic fetching later)
|
2017-12-21 15:35:58 +02:00 |
|
HoneyryderChuck
|
48d8714225
|
added support for https proxy connect flow; removed the proxy server tests, as I found a list of public proxies, which are good enough to test around; added a bit more logging
|
2017-12-21 15:21:58 +02:00 |
|
HoneyryderChuck
|
48e55a7ca2
|
removing :proxy options from base class, adding them with the plugin
|
2017-12-20 19:14:19 +02:00 |
|
HoneyryderChuck
|
9729fa0d82
|
::IO for the top class
|
2017-12-20 19:13:48 +02:00 |
|
HoneyryderChuck
|
defe140466
|
proxy: http-proxying is now possible; on connection, a proxy channel is initialized, which should match against ALL requests, so this means that, by passing a proxy, one is saying that ALL requests on that client are proxied; a lot of object monkey-patching takes place, but this should be alright, as these objects should be long-lived in the grand scheme of things (if there will only be one channel, there will also be only one parser, etc etc)
|
2017-12-20 19:00:21 +02:00 |
|
HoneyryderChuck
|
36ce3851d1
|
parser: isolating some logic, so that it can be more easily overridden; these have to make sense, obviously
|
2017-12-20 18:57:50 +02:00 |
|
HoneyryderChuck
|
7b98053cf2
|
space
|
2017-12-20 18:56:50 +02:00 |
|
HoneyryderChuck
|
f375a9bbb9
|
registry: passing along registers to subclasses
|
2017-12-20 18:56:29 +02:00 |
|
HoneyryderChuck
|
6d7c3d73b6
|
testing on /get
|
2017-12-20 18:56:12 +02:00 |
|
HoneyryderChuck
|
cd784e43d0
|
added first draft of proxy plugin: connection gets extended; proxy creates a proxy channel, which initializes with a separate parser and an initial connect request; it's still failing, though
|
2017-12-20 17:29:01 +02:00 |
|
HoneyryderChuck
|
01d41b076e
|
channel: register happens separately
|
2017-12-20 17:27:30 +02:00 |
|
HoneyryderChuck
|
9ee00921f8
|
added proxy tests; the tests use local nghttpx as proxy, which means this'll become a dependency
|
2017-12-20 17:26:57 +02:00 |
|
HoneyryderChuck
|
eb173e0217
|
added IO module to register IO types; now one needs to explicitly call ::IO for top-level
|
2017-12-20 12:11:01 +02:00 |
|
HoneyryderChuck
|
c96e5b0a50
|
refactored the redirect module; allow to pass an already initialized body to the request
|
2017-12-19 15:37:54 +02:00 |
|
HoneyryderChuck
|
d044458031
|
added redirection functionality, along with capping the number of redirections (default: 3), after which it returns the last known response
|
2017-12-19 15:37:54 +02:00 |
|
HoneyryderChuck
|
460c1346d2
|
added test for following redirects, added plugin scaffold, test fails, of course
|
2017-12-19 15:37:53 +02:00 |
|
HoneyryderChuck
|
a47ba100f5
|
capping max timeout to 30 seconds
|
2017-12-19 14:20:14 +02:00 |
|
HoneyryderChuck
|
87f949894b
|
fixed header initialization (specifically in the case when it is initialized with two set-cookie incoming fields)
|
2017-12-19 13:07:05 +02:00 |
|
HoneyryderChuck
|
193828527b
|
added debug_level option, which can make logs more verbose
|
2017-12-19 13:06:51 +02:00 |
|
HoneyryderChuck
|
0f42c368c7
|
Get first, head later
|
2017-12-19 13:06:24 +02:00 |
|
HoneyryderChuck
|
45bd2a11c7
|
fixing the leakage of altered resource classes to the main default options
|
2017-12-19 13:06:09 +02:00 |
|
HoneyryderChuck
|
0c307c82c3
|
removing the cookies test from options
|
2017-12-19 13:05:54 +02:00 |
|
HoneyryderChuck
|
a179fe7aa0
|
http-cookie is now a dev dep
|
2017-12-19 13:05:34 +02:00 |
|
HoneyryderChuck
|
48b6faa2c3
|
options: removing the cookies stuff by default there
|
2017-12-19 13:05:21 +02:00 |
|
HoneyryderChuck
|
3c72a20d46
|
removing usage of ** params, as this forces typecast to hash, and one loses the options silently keeping the object passed in init, which is a big part of the plugins
|
2017-12-19 13:05:07 +02:00 |
|
HoneyryderChuck
|
a5a48c8d83
|
fixed header initialization (specifically in the case when it is initialized with two set-cookie incoming fields)
|
2017-12-19 13:00:27 +02:00 |
|
HoneyryderChuck
|
aec527be33
|
added debug_level option, which can make logs more verbose
|
2017-12-19 12:59:52 +02:00 |
|
HoneyryderChuck
|
5ee94bbc98
|
added test which loads the cookies from the response and passes it to the next request; added the functionality also, along with the cookie jar
|
2017-12-19 12:59:03 +02:00 |
|
HoneyryderChuck
|
1c507545c1
|
cookies might be nil (in fact, the default options won't be the same when expanding the options, think about this for a while
|
2017-12-19 11:48:51 +02:00 |
|
HoneyryderChuck
|
7d9f6f2466
|
Get first, head later
|
2017-12-19 11:48:22 +02:00 |
|
HoneyryderChuck
|
5eeb2eee6a
|
fixing the leakage of altered resource classes to the main default options
|
2017-12-19 11:48:10 +02:00 |
|
HoneyryderChuck
|
af25aae6d1
|
removing the cookies test from options
|
2017-12-19 11:47:29 +02:00 |
|
HoneyryderChuck
|
6ed620caff
|
added the cookie plugin, with the first test: passing the cookie in the options
|
2017-12-18 18:09:30 +02:00 |
|
HoneyryderChuck
|
06667b355f
|
http-cookie is now a dev dep
|
2017-12-18 18:08:48 +02:00 |
|
HoneyryderChuck
|
3e0bbd8f81
|
options: removing the cookies stuff by default there
|
2017-12-18 18:08:38 +02:00 |
|
HoneyryderChuck
|
741bea2b24
|
removing usage of ** params, as this forces typecast to hash, and one loses the options silently keeping the object passed in init, which is a big part of the plugins
|
2017-12-18 18:08:16 +02:00 |
|
HoneyryderChuck
|
95508ac4d5
|
allow to build requests without sending them
|
2017-12-18 16:05:20 +02:00 |
|
HoneyryderChuck
|
d9f2632a67
|
parser is empty when there are no requests as well
|
2017-12-18 16:04:53 +02:00 |
|
HoneyryderChuck
|
88b2c9370c
|
added plugin to top-level chainable; added plural version, to load multiple plugins
|
2017-12-18 16:04:39 +02:00 |
|