Commit Graph

622 Commits

Author SHA1 Message Date
Martin André
541d0c2aba Add https_only() for ClientBuilder (#1102)
Closes #980
2020-12-09 10:40:46 -08:00
Corey Farwell
474d9eff9b Document how a RequestBuilder gets constructed (#1097) 2020-12-09 07:17:37 -08:00
Martin André
a2133aec3b blocking: add tcp_keepalive option (#1100) 2020-12-07 07:56:56 -08:00
Zicklag
3cd9c29b30 Fix system HTTP proxy to send proxy-authorization (#1021)
Previously, HTTP proxies loaded from the system settings were not
respected for non-HTTPS requests. Now the PROXY_AUTHORIZATION header is
supplied on HTTP requests with a system proxy.
2020-11-24 10:34:38 -08:00
Konrad Borowski
e7be3eda04 Make wasm-bindgen-test a dev dependency 2020-11-24 07:04:21 -08:00
Taylor Thomas
2ca0e26cfa feat(multipart): Adds support for manually setting size
I also added a simple sanity test to make sure it doesn't override
a `Body` with an actual size. I also double checked that this works
with a project where we are using streams.

Closes #1090
2020-11-23 11:10:26 -08:00
Sean McArthur
b1d498ffa8 v0.10.9 2020-11-19 16:04:32 -08:00
Qing Lei
0bae133b71 Enable brotli for blocking (#1061) 2020-11-19 16:03:34 -08:00
est31
23aaa0b60e Add a rustls-tls-native-roots feature
Adds an optional cargo feature to load certificates
from the OS native certificate store.
2020-11-19 13:13:36 -08:00
est31
3ea9f92f24 Add rustls-tls-manual-roots feature to allow callers to specify roots
Now, callers have more control over the set of roots.

Note that, due to cargo unification, other dependencies in the
dependency tree might enable rustls-tls-webpki-roots
or rustls-tls.
This will affect connections initiated by code that explicitly
enabled rustls-tls-manual-roots.

So for now, the choice is done once per entire cargo
dependency graph. If people want more precise control
over things, they can add methods that allow controlling
this on a per-connection level. Even if such methods
are available, the *-manual-roots feature will still be
helpful with eliminating the webpki-roots dependency
for those cargo graphs where there is no unification.
2020-11-19 13:13:36 -08:00
stevelr
4fe07d81cf add ClientBuilder.default_headers() for wasm32 target (#1084) 2020-11-16 13:09:47 -08:00
Taiki Endo
2dec3b725f Remove pin-related unsafe code 2020-11-13 15:12:06 -08:00
stevelr
045d7c7d2f Support Cloudflare workers runtime (#1081) 2020-11-11 10:10:01 -08:00
Federico Terzi
7595dcb3f7 Default HTTPS proxy protocol to HTTP if not explicitly specified otherwise (#1082)
Fix #1080
2020-11-11 06:26:44 -08:00
XyLyXyRR
4574019045 chore(docs): fix missing link for 'blocking' 2020-11-10 09:33:09 -08:00
Ngo Iok Ui (Wu Yu Wei)
00fb43b650 Add tcp_keepalive option for ClientBuilder (#1070) 2020-10-29 08:23:01 -07:00
Patrick Lühne
6705b90a15 Fix typo in documentation (#1056)
This fixes a typo with multiple occurrences in the documentation and
rewraps the documentation comments at 80 characters.
2020-10-12 18:04:33 -07:00
Snarpix
dbd887c262 Expose http1_writev config option to user (#1040) 2020-09-18 11:29:07 -07:00
shuo
e06e19868f Add is_connect on error (#1023)
* error: add is_connect helper function

* test: ensure request_timeout is not connect_timeout

* fmt

* skip err is_connect if target_arch is wasm. rerun checks

Co-authored-by: lishuo <lishuo.03@bytedance.com>
Co-authored-by: Sean McArthur <sean@seanmonstar.com>
2020-09-02 18:07:13 -07:00
Youngsuk Kim
f012163333 typo fix in docs (#1024) 2020-09-01 14:06:23 -07:00
Jason van den Hurk
53268f2443 Introduce build method on WASM RequestBuilder for compatibility with async_impl (#1019) 2020-08-28 10:12:58 -07:00
Sean McArthur
7ef8e94250 v0.10.8 2020-08-25 09:28:48 -07:00
Zac Pullar-Strecker
db24d54097 Add must_use to ClientBuilder & RequestBuilder (#1011) 2020-08-21 08:58:53 -07:00
Jonas Platte
d42385e7f2 wasm: Omit request body if it's empty (#1012)
This should allow creating GET and HEAD requests from http::Request
2020-08-20 15:42:48 -07:00
fuyu
9e23103371 Fix detection of system proxy from Windows registry (#1005) 2020-08-19 11:38:21 -07:00
Jonas Platte
dd8441fd23 wasm: impl TryFrom<HttpRequest<T>> for Request (#997) 2020-08-08 15:29:22 -07:00
SnejUgal
ecc863fdac Do not assume that window exists in WASM (#990) 2020-08-06 15:09:31 -07:00
Jason van den Hurk
83fa93ccaf Make headers method on WASM client for compatibility with async_impl (#991)
The replace_headers method had to be moved since the async_impl module
is not compiled while compiling to wasm. This caused the replace_headers
method to be unavailable. fast_random had to be excluded from the wasm
build to prevent dead code warnings in the wasm target.
2020-08-06 15:07:43 -07:00
Jason van den Hurk
77d7e452e1 Make execute method on WASM client for compatibility with async_impl (#989)
The async_impl of reqwest has a `execute` impl on Client which is used
to execute a request and return a Result Future. When converting a crate
from async to wasm this method is missing, requiring forking and
rewriting the crate. By introducing this method less errors will be
introduced when trying to compile to wasm
2020-08-06 10:37:05 -07:00
Takayuki Maeda
1e6957a4ac Fix clippy warnings (#981)
* refactor: fix clippy warnings

* refactor: fix redundant_closure

* refactor: fix collapsible if

* refactor: remove unnecessary_unwrap
2020-07-27 09:02:47 -07:00
Sean McArthur
c78aa50d4c v0.10.7 2020-07-24 07:13:27 -07:00
Michal 'vorner' Vaner
69288606bc Allow conversion from async client builder to blocking one (#978)
The builders have mostly the same options and the blocking one is just a
wrapper around the async one. The possible conversion makes it easier to
support creating both kinds from configuration file, reducing some code
duplication.
2020-07-20 10:27:14 -07:00
Enno Boland
a800202384 Add multipart for WASM (#966) 2020-07-08 13:10:23 -07:00
Enno Boland
af9fc5c9d8 Implement Request::bearer_auth for wasm32 2020-07-06 15:00:54 -07:00
Fabian Franz
7fd6b44cde Issue #956: Take the cookie store write lock only when necessary (#960) 2020-06-26 12:27:23 -07:00
Paolo Barbolini
f2e8dd2477 Update cookie crates (#946) 2020-06-24 09:04:21 -07:00
David Pedersen
1c680005c2 Add blocking::Response::headers_mut (#958) 2020-06-24 07:19:15 -07:00
alianse777
71386d8734 Implement form() and query() for RequestBuilder [WASM] (#947) 2020-06-15 07:28:51 -07:00
Tom Hacohen
668e89b78a Error: add functions to check more error types. (#945)
There are functions to check if the error is from an array of different
reasons, but there were no functions to check if the failure was due to
the rest of the possible error reasons. This commit adds though.

Fixes #942
2020-06-13 07:52:02 -07:00
Taylor Thomas
6914091582 feat(proxy): Adds NO_PROXY environment variable support (#877)
* feat(proxy): Adds NO_PROXY environment variable support

Adds support for loading from the `NO_PROXY` or `no_proxy` environment
variables. This should make reqwest support the system proxy settings.
Please note that I brought in one additional dependency in order to
handle CIDR blocks in the no proxy settings.

Closes #705
2020-06-08 15:32:56 -07:00
Sean McArthur
bcb35e9498 v0.10.6 2020-05-29 10:49:54 -07:00
Jacob Hoffman-Andrews
eef504631b Reject non-http, non-https URLs. (#921)
Normally hyper is in charge of rejecting non-http URLs, but because
reqwest supports both http and https URLs, it calls enforce_http(false),
disabling hyper's checks.

This adds back a check in reqwest itself, plus a test.

There may still need to be an additional check in connect.rs.
2020-05-29 10:29:40 -07:00
Sean McArthur
6c7190bb4f v0.10.5 2020-05-28 21:23:40 +00:00
Damien Cuenot
248a9765b3 Backport Sentivite headers to blocking implementation (#931) 2020-05-28 14:21:59 -07:00
Damien Cuenot
d879d6f6c2 Define authorization headers as sensitive header (#916) 2020-05-22 14:39:55 -07:00
Patrick Lühne
ecf1df572c Rename option to “pool_max_idle_per_host” (#917)
reqwest exposes the “pool_max_idle_per_host” option of hyper’s client
builder. This option used to be called “max_idle_per_host” in the hyper
crate, but it has recently been renamed [1].

This patch renames the reqwest representation of this option to make it
consistent with its name in the hyper crate again.

[1] https://github.com/hyperium/hyper/pull/2142
2020-05-22 08:05:44 -07:00
Patrick Lühne
b5706f2d89 Make pool idle timeout configurable (#866)
hyper’s ClientBuilder has an option to define the idle timeout of the
connection pool. As it’s quite useful to be able to modify this value,
this patch extends reqwest’s ClientBuilder to expose that option as
well. The default value of 90 seconds is taken from hyper.
2020-05-22 07:37:02 -07:00
Héctor Ramón
63376de793 Implement Response::content_length for wasm32 (#863) 2020-05-21 10:46:56 -07:00
x1957
0595c04d10 impl TryFrom http::Request (#887) 2020-05-21 09:23:14 -07:00
Lucas
c81eb4ec41 document internal Arc of reqwest::Client (#876) 2020-04-10 11:34:21 -07:00