Constantin Nickel
6b5be07158
Sync async/blocking ClientBuilder::gzip doc comment
2019-09-17 09:48:26 -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
danieleades
cf8944a0f0
cargo fmt ( #604 )
...
Run rustfmt and setup CI to check for it.
2019-08-29 09:52:39 -07:00
Daniel Eades
3ba4b6eadf
port all optional features to 2018-edition
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
Patrick Fernie
6e5ee3b975
disable percent encoding of cookie name/value when sending request
2019-06-06 11:05:14 -07:00
prfss
c7da30149a
Fix cookie header to not include set-cookie attributes ( #522 )
2019-05-15 13:12:22 -07:00
WindSoilder
e0a52dcf5d
Include new cookie header after a redirect ( #514 )
...
Closes #510
2019-04-30 15:15:41 -07:00
Sean McArthur
f6ce085457
Propagate async timeout to response body ( #503 )
2019-04-22 15:24:35 -07:00
Sean McArthur
ce51fe83d6
Add request timeout support to async Client ( #501 )
...
Closes #496
2019-04-22 12:43:30 -07:00
Jerome Gravel-Niquet
77434a29aa
Fix overwriting of appended request headers ( #493 )
...
* don't overwrite appended user headers
* Fixes tests, all header ordering related
* does not need to clone default headers, added a test
2019-04-15 12:33:03 -07:00
Christoph Herzog
9935a8e117
CookieStore cleanup/fixes
...
* Remove TODO
* Remove Cookie::set_ setters
* Do not expose SameSite enum, provide getters on Cookie instead
* Simplify Response::cookies signature (now ignores errors)
2019-04-09 12:54:10 -07:00
Christoph Herzog
954fdfae30
Implement cookie store support
...
This commit introduces a cookie store / session support
for both the async and the sync client.
Functionality is based on the cookie crate,
which provides a HTTP cookie abstraction,
and the cookie_store crate which provides a
store that handles cookie storage and url/expiration
based cookie resolution for requests.
Changes:
* adds new private dependencies: time, cookie, cookie_store
* a new cookie module which provides wrapper types around
the dependency crates
* a Response::cookies() accessor for iterating over response cookies
* a ClientBuilder::cookie_store() method that enables session functionality
* addition of a cookie_store member to the async client
* injecting request cookies and persisting response cookies
* cookie tests
NOTE: this commit DOES NOT expose the CookieStore itself,
limiting available functionality.
This is desirable, but omitted for now due to API considerations that should be fleshed out in the future.
This means users do not have direct access to the cookie session for now.
2019-04-09 12:54:10 -07:00
Diggory Blake
c45ff29bfb
Add support for SOCKS5 proxies, and parsing proxy authorizations from URLs
2019-04-08 11:42:18 -07:00
Sean McArthur
5c3494b81d
Check redirect locations are valid Uris ( #486 )
...
Closes #484
2019-04-01 11:13:01 -07:00
quininer
47640170bb
Add tcp_nodelay for Builder
2019-03-20 14:09:31 -07:00
CJP10
a54bfc1a39
added max_idle_per_host as an option to the builder ( #473 )
2019-03-19 13:23:32 -07:00
Antoine Carton
aa8348ba1e
Add http1_title_case_headers option to ClientBuilder ( #463 )
2019-02-27 13:21:50 -08:00
Constantin Nickel
4fba983e5e
async/client: return a impl Future on execute()
2019-02-20 17:59:12 -08:00
Sean McArthur
9e2b56ba56
Add connect_timeout to async and sync clients
2019-02-20 15:15:55 -08:00
Michael Habib
4dc679d535
Add ClientBuilder::local_address option to bind to a local IP address ( #451 )
...
Closes #414
2019-02-11 10:40:16 -08:00
Evan Schwartz
6e8e781f8f
Add ClientBuilder::h2_prior_knowlege() ( #443 )
...
resolves https://github.com/seanmonstar/reqwest/issues/413
2019-01-18 14:15:57 -08:00
Sean McArthur
021851afd4
Enable h2 ALPN with rustls-tls backend
2019-01-18 11:53:56 -08:00
Sean McArthur
81b4d26682
Try to detect Certificate and Identity errors earlier
2019-01-11 15:43:00 -08:00
Sean McArthur
b71787be86
refactor DNS resolver construction
...
- System Conf is read as `ClientBuilder::build()` time, providing the
error earlier.
- If there is an error reading the resolve system conf, a better error
is reported.
- Resolver only needs to lock a mutex once to spawn the background task,
instead of every single `resolve` call.
2019-01-10 12:47:29 -08:00
Sean McArthur
691bcfe894
improve general documentation
2019-01-07 14:20:39 -08:00
Sean McArthur
11d7812e88
rename Incompatile error kind to TlsIncompatible
2019-01-04 14:46:58 -08:00
Sean McArthur
ad854c3ee8
add Proxy::basic_auth support
...
Closes #322
2019-01-04 14:40:19 -08:00
Sean McArthur
b9f4661332
rename TLSBackend to TlsBackend
2019-01-03 12:43:22 -08:00
Sean McArthur
44837c1b69
Replace getaddrinfo resolver with trust-dns-resolver
2018-12-18 12:54:22 -08:00
quininer
37039760f8
Add rustls support ( #390 )
2018-12-17 11:57:43 -08:00
Sean McArthur
97393143a5
put all TLS functionality behind a feature flag
...
The "Cargo feature" `default-tls`, which is enabled by default, is
added, with all TLS support relying on it. This allows using reqwest but
disabling the `native-tls` dependency, by disabling this feature.
Closes #225
2018-10-29 16:37:25 -07:00
Yannick Heinrich
c4bf420021
Integrate helper functions inside corresponding structs
2018-10-05 11:19:52 -07:00
Yannick Heinrich
22fa725f48
Document gzip client's behaviour ( #358 )
...
As suggested in #306 , the behaviour of the `auto gzip decompression` should
be clearly explained inside the documentation.
Closes #306
2018-10-03 10:14:41 -07:00
Sean McArthur
680387f790
try utf8 for location headers
2018-09-25 11:46:46 -07:00
Sean McArthur
cd7dbe226c
log invalid location header value on error
2018-09-21 14:22:41 -07:00
Sean McArthur
5bf94e7bdd
fix panic if Location header is not a valid string
...
Closes #354
2018-09-21 14:13:32 -07:00
Xeoeen
3a5af68b92
remove invalid headers after erasing body ( #349 )
2018-09-19 12:07:59 -07:00
Sean McArthur
610cdd266c
Fix panicking when passed a file:// URL
...
Closes #347
2018-09-18 12:43:54 -07:00
Sean McArthur
55fcedcf97
pub(crate)ify the async::client module
2018-09-11 14:37:50 -07:00
Sean McArthur
1ded95ce0e
pub(crate)ify the async::request module
2018-09-11 14:33:38 -07:00
Sean McArthur
2f893718ba
pub(crate)ify async::response module
2018-09-11 14:27:28 -07:00
Sean McArthur
13cfc4df85
refactor redirect facade to use pub(crate)
2018-08-23 10:04:25 -07:00
Sean McArthur
ef529df3f2
remove inline annotations on client builder methods
2018-08-23 10:04:25 -07:00
Sean McArthur
afbeb1a384
change ClientBuilders to by-value builders
2018-08-23 10:04:25 -07:00
Sean McArthur
3fbda4fd49
remove unstable language and feature
2018-08-15 16:08:47 -07:00
Scott Schroeder
d8e47babf6
change invalid cert api to match native-tls ( #327 )
2018-08-13 15:08:02 -07:00