166 Commits

Author SHA1 Message Date
HoneyryderChuck
d4ec28e4a6 testing pushed\? 2020-03-15 13:31:58 +00:00
HoneyryderChuck
108d9257c8 added support for HTTP#with_ methods
these will reapply options accordingly (i.e. HTTPX.with_headers(...)).

Because we now have these, HTTPX.headers and HTTPX.timeout have been
deprecated.
2020-03-10 18:58:31 +00:00
HoneyryderChuck
926ad27011 expect plugin
this plugin sets all body requests to send the expect-100 header before
sending any payload, a la curl. It recovers from 417 as well.
2020-03-10 18:57:42 +00:00
HoneyryderChuck
98cce7df65 added retry_after option to the retries plugin 2020-02-10 00:09:50 +00:00
HoneyryderChuck
0500fb6db8 added retry_on option, passing a callback for dev purposes 2020-02-09 00:25:16 +00:00
HoneyryderChuck
4451218300 deprecating the .plugins, as it's not compatible with sending plugin options 2020-02-09 00:25:16 +00:00
HoneyryderChuck
adf479221c added proxy authentication test 2020-02-08 01:43:40 +00:00
HoneyryderChuck
1d86db13a1 added tests for certain untested options of a session 2020-01-12 20:38:05 +00:00
HoneyryderChuck
46809eba4b added tests for digest authentication with algorithm; fixed the respective code, as it wasn't working properly 2020-01-12 20:32:24 +00:00
HoneyryderChuck
2df9248e4c added test to verify it's not connecting to any proxy 2019-12-31 01:56:21 +00:00
HoneyryderChuck
a059726b9e compression: added some behaviours from net-http
After looking at net-http code, decided to adopt the following
behaviour:

* do not send accept-encoding when sending Range header
* remove content-encoding from response headers as we decode them

in order for user code to track what was decoded, added
HTTPX::Response::Body#encodings, which returns the array of encodings
for which the body was successfully decoded
2019-10-12 20:55:16 +01:00
HoneyryderChuck
2da56ce9af fix: keep connection alive if HTTP/1.1 and there is connection-related
header;

this was wrongly closing connections for HTTP/1.1 connections which
didn't send a "Connection" header; according to spec, the default is
"Keep-Alive", contrary to HTTP/1.0
2019-05-15 14:45:06 +00:00
HoneyryderChuck
ae859f743f request exposes options: this allows responses to be created with the proper set of options, instead of the connection options, which is wrong 2019-05-06 11:56:11 +00:00
HoneyryderChuck
7e70ffe4ed realign multi-line calls in test/ 2019-03-16 17:17:00 +00:00
HoneyryderChuck
c1c0c536eb Client -> Session (signal this as deprecation, as this is public API 2019-03-16 16:32:33 +00:00
HoneyryderChuck
3670b239af Merge branch 'faraday' into 'master'
Faraday adapter

Closes #42

See merge request honeyryderchuck/httpx!37
2019-03-16 05:08:09 +00:00
HoneyryderChuck
44cb82602c do not test ssh proxy for jruby (no support) 2019-03-16 04:50:01 +00:00
HoneyryderChuck
11663ad914 simplifying cookies plugin by having less cookie response introspection (now there's a client cookies store) 2019-01-24 14:43:15 +00:00
HoneyryderChuck
151dcd56de updated tests for the cookie plugin, so that the origin cookie session is kept when using the same client; testing also integration with the follow_redirects plugin, when one needs the cookies to be kept when redirecting 2019-01-04 11:52:01 +00:00
HoneyryderChuck
ddd27a3b36 added ssh proxy test 2018-12-28 14:21:25 +00:00
HoneyryderChuck
ce674ff4e2 Added multipart plugin, to handle multipart requests
This logic was extracted from the vanilla httpx build to a plugin to
make the gem "leaner", by removing "http_form_data" as a hard
dependency.

The multipart plugin still requires one to install it though, but if you
don't need to upload files, you don't have to install the gem anymore
2018-11-23 16:06:25 +00:00
HoneyryderChuck
e666dfb85d Merge branch 'retries' into 'master'
Retries

Closes #17

See merge request honeyryderchuck/httpx!23
2018-06-11 17:56:46 +00:00
HoneyryderChuck
0a846f05f3 rubocopping 2018-06-07 12:16:37 +01:00
HoneyryderChuck
c74b86b435 do not test result of real requests 2018-06-06 20:59:52 +01:00
HoneyryderChuck
0be7efaab2 added follow_insecure_redirects, which allows users to opt in on https-to-http redirects (shut down by default) 2018-06-06 17:51:21 +01:00
HoneyryderChuck
0c46794c20 added retries test module, with max_retries already there 2018-06-06 17:50:58 +01:00
HoneyryderChuck
4e5507f1db do not escape redirect location in tests (uris are escaped now) 2018-06-01 19:17:51 +01:00
HoneyryderChuck
0a92135c57 slipped through this... 2018-03-22 20:32:45 +00:00
HoneyryderChuck
4be12daa00 verify_status receives response and raises when not a proper response 2018-03-20 20:08:24 +00:00
HoneyryderChuck
12ae330d7f wrong engine 2018-01-28 23:37:32 +00:00
HoneyryderChuck
3c16999b53 do not do brotli tests on jruby 2018-01-28 23:20:25 +00:00
HoneyryderChuck
861d69c409 fixed all remaining rubocop fails 2018-01-28 23:01:33 +00:00
HoneyryderChuck
2b1ab8b6b6 rubocop auto-corrections according to some basic rules for now 2018-01-28 22:33:41 +00:00
HoneyryderChuck
7f7046b9ce added programatic proxy discovery by parsing the sslproxy and socks-proxy pages and fetching a sample suitable for each test 2018-01-14 20:39:42 +00:00
HoneyryderChuck
402a8ad2d4 added test for brotli request body compression 2018-01-14 20:35:32 +00:00
HoneyryderChuck
815a1177d6 added test 2018-01-13 22:04:54 +00:00
HoneyryderChuck
761ecb800d using the pushed response header from nghttp2.org to test whether asset was pushed 2018-01-13 21:41:30 +00:00
HoneyryderChuck
767637f15f switched name of proxy test and endpoints, again 2018-01-13 17:53:56 +00:00
HoneyryderChuck
b97405c551 added draft of push promise plugin 2018-01-13 17:53:29 +00:00
HoneyryderChuck
e762faedfa added h2c plugin 2018-01-08 22:30:50 +00:00
HoneyryderChuck
7f22b3f398 added a new socks5 proxy 2018-01-06 19:26:02 +00:00
HoneyryderChuck
ad1ff620b0 finally fixed the digest auth; the real issue was lack of a cookie, which apparently httpbin needs 2018-01-05 23:04:53 +00:00
HoneyryderChuck
7739ba81a4 Merge branch 'compression' 2018-01-04 23:17:07 +00:00
HoneyryderChuck
fbdd2391fd Merge branch 'cookies' 2018-01-04 23:14:45 +00:00
HoneyryderChuck
a033605a00 Merge branch 'follow_redirects' 2018-01-04 23:11:04 +00:00
HoneyryderChuck
c92a872257 Merge branch 'authentication' 2018-01-04 23:09:10 +00:00
HoneyryderChuck
fe79e73ffd again, proxies... 2018-01-04 22:56:31 +00:00
HoneyryderChuck
26dd09903c added socks 5 proxy which supports https 2018-01-04 22:46:06 +00:00
HoneyryderChuck
8ff7857dbf added support for socks5 2018-01-03 20:47:37 +00:00
HoneyryderChuck
a3c46525ff fixed socks4 corner cases, added support for socks4a 2018-01-03 18:41:06 +01:00