Commit Graph

159 Commits

Author SHA1 Message Date
Sean McArthur
14908ad3f0 Improve debug logging (#781) 2020-01-13 12:24:38 -08:00
Sean McArthur
50c33a932e Add connection_verbose setting to log IO events (#774) 2020-01-09 13:42:01 -08:00
rhysd
6004623784 Add RequestBuilder::fetch_mode_no_cors() 2020-01-08 11:47:47 -08:00
kodieg
b159963f6c Add request timeout (#761)
Closes #754
2020-01-03 11:25:04 -08:00
Sean McArthur
09e7fe62e3 Don't set User-Agent header by default (#751) 2019-12-23 12:48:11 -08:00
Sean McArthur
0ab5df39cc Add Response::bytes_stream() (#750)
This converts the `Response` into a `Stream` of `Bytes`.

Closes #734
2019-12-23 11:38:39 -08:00
Sean McArthur
24abf2fcbd Separate default-tls and native-tls features (#749)
To allow for the default-tls to change to a different backend by
default, this adds a new `native-tls` optional feature. Any TLS feature
that was only available using native-tls now requires the `native-tls`
feature to be enabled.
2019-12-20 13:22:56 -08:00
Sean McArthur
ce43f80d8b Refactor Redirect API (#741)
Changed the redirect types to be from the `redirect` module:

- `reqwest::RedirectPolicy` is now `reqwest::redirect::Policy`
- `reqwest::RedirectAttempt` is now `reqwest::redirect::Attempt`
- `reqwest::RedirectAction` is now `reqwest::redirect::Action`

Changed behavior of default policy to no longer check for redirect loops
(loops should still be caught eventually by the maximum limit).

Removed the `too_many_redirects` and `loop_detected` methods from
`Action`.

Added `error` to `Action` that can be passed any error type.

Closes #717
2019-12-16 15:57:09 -08:00
Sean McArthur
be52c4d558 support url with authority (#736) 2019-12-11 13:42:45 -08:00
Sean McArthur
7631c0390e Rename 'unstable-stream' feature to 'stream' (#733) 2019-12-10 16:55:53 -08:00
Gleb Pomykalov
0f32c4a01a Update to hyper 0.13 2019-12-10 16:24:05 -08:00
Rodolfo P A
80ba8cc150 Implement Default for Client, ClientBuilder and Form (#712) 2019-11-21 11:52:17 -08:00
Nathan West
3a24cc1d4b Reimplemented RequestBuilder::basic_auth to use Base64Encoder (#713) 2019-11-19 10:45:14 -08:00
Lucas
3b23593262 Add as_bytes method to Body (#708) 2019-11-11 13:12:22 -08:00
tobdob
3a50ed11f8 Implement try_clone for async requests (#698)
Fixes #533
2019-11-04 18:14:40 -08:00
Artem Vorotnikov
cfc312f8dd Remove remnants of old typed headers (#690) 2019-10-23 12:18:06 -07:00
Kyle Huey
6433db78b1 Add http2 window setters to ClientBuilder (#659) 2019-10-17 15:01:37 -07:00
Sean McArthur
7739e03123 Enable "system" proxies by default (#683)
If no proxies are configured for a client, the environment (system) will
be inspected automatically to set up proxies.

Configuring a `Proxy` on a client or calling `no_proxy` will disable the
use of the automatic system proxy.

Closes #403
2019-10-17 13:32:00 -07:00
Sean McArthur
8583dd2b4c Replace uuid dependency with tiny internal RNG (#679) 2019-10-15 14:54:26 -07:00
lzutao
a9dd94a99f doc: make encoding_rs link clickable (#674) 2019-10-14 11:24:12 -07:00
Sean McArthur
6b5726aaa8 Improve fmt::Debug of Client and ClientBuilder 2019-10-09 13:46:39 -07:00
Sean McArthur
bb3d672cd8 re-organize builder methods for docs purposes 2019-10-03 14:42:15 -07:00
Sean McArthur
7c1d0b9f13 remove deprecated dns_threads method 2019-10-03 13:51:02 -07:00
Sean McArthur
5b55aee1a9 Send user-agent in proxy tunnel requests 2019-10-03 10:34:51 -07:00
Sean McArthur
cba1e4e82e Update tokio and hyper alphas 2019-10-01 14:26:42 -07:00
Sean McArthur
ebe57e10a3 Put Stream APIs behind unstable-stream feature 2019-09-27 17:00:15 -07:00
Constantin Nickel
24394364eb Make json an optional feature (default off) 2019-09-27 12:27:23 -07:00
Sean McArthur
6413a4349e Update tokio and hyper alphas 2019-09-25 14:19:37 -07:00
Sean McArthur
f71227d968 Make gzip an optional feature (default off) 2019-09-23 15:46:25 -07:00
Sean McArthur
7e3c1bc461 Make the blocking API an optional feature (default off) 2019-09-18 12:39:02 -07:00
Sean McArthur
0a87d3d7da Make cookies an optional feature (default off) 2019-09-17 16:50:54 -07:00
Sean McArthur
53495e1526 Redesign Error type
- The `Error`'s kind is a now a set of variants depending on the context
  of when an error could occur.
- If another error was the cause, it is now always the `source`.

Along with the `is_*` methods, this should help in understanding *when*
a certain error occurred. For example, an error setting the TLS
certificates will return a builder error, with the TLS error as the
source. This should help differentiate from a TLS error that happens
when connecting to a server.

It also makes the internal code less dependent on all the exact
dependencies that can be enabled or disabled.
2019-09-17 14:23:22 -07:00
Constantin Nickel
6b5be07158 Sync async/blocking ClientBuilder::gzip doc comment 2019-09-17 09:48:26 -07:00
Constantin Nickel
b1a90eb402 Prune the futures dependencies 2019-09-12 07:52:31 -07:00
Sean McArthur
5356776834 refine async API
- Converted `Response::text` and `Response::json` to `async fn`
- Added `Response::bytes` async fn as a counterpat to `text`.
- Added `Response::chunk` async fn to stream chunks of the response body.
- Added `From<Response> for Body` to allow piping a response as a request body.
- Removed `Decoder` from public API
- Removed body accessor methods from `Response`
- Removed `Chunk` type, replaced with `bytes::Bytes`.
- Removed public `impl Stream for Body`.
2019-09-10 14:06:09 -07:00
Sean McArthur
87a09322d6 Make the async Client default (#626)
The previously default Client is moved to `reqwest::blocking`, while the
async client becomes the main API.

Closes #622
2019-09-09 17:20:51 -07:00
Sean McArthur
ba7b2a754e refactor all to async/await (#617)
Co-authored-by: Danny Browning <danny.browning@protectwise.com>
Co-authored-by: Daniel Eades <danieleades@hotmail.com>
2019-09-06 17:22:56 -07:00
Nikhil Benesch
f60456c8e3 Upgrade to url v2.0 (#583) 2019-09-04 18:27:20 -07:00
danieleades
cf8944a0f0 cargo fmt (#604)
Run rustfmt and setup CI to check for it.
2019-08-29 09:52:39 -07:00
Bas De Bue
81e0f1ff2a Change Part::stream to reqwest::r#async::Chunk 2019-08-21 13:06:49 -07:00
Daniel Eades
4bb4149b63 remove unnecessary double-colons 2019-08-16 12:59:55 -07:00
Daniel Eades
3ba4b6eadf port all optional features to 2018-edition 2019-08-16 12:59:55 -07:00
Daniel Eades
4773408ae4 switch to 2018 edition module structure 2019-08-16 12:59:55 -07:00
Daniel Eades
1452ca2bd1 remove unnecessary extern crate lines 2019-08-16 12:59:55 -07:00
Daniel Eades
5dc5162765 update and tidy code 2019-08-16 12:59:55 -07:00
Daniel Eades
86d9cbc66e cargo fix --edition 2019-08-16 12:59:55 -07:00
WindSoilder
577d06c363 Add support for system/environment proxies (#547) 2019-07-01 16:27:58 -07:00
messense
1e7c9fe507 Sync Response::text() & Response::json() call their async version 2019-06-26 11:11:07 -07:00
messense
c5f2bf6c32 Add Response::text() to async Client 2019-06-26 11:11:07 -07:00
Dmitry Pankratov
e16aed5e3c Added support for sending requests with streaming Body (#545) 2019-06-14 10:29:54 -07:00