Commit Graph

114 Commits

Author SHA1 Message Date
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
Sean McArthur
478ef9bf15 add Response::remote_addr() method
The new `remote_addr` method returns an `Option<SocketAddr>`, which is
`Some` if the underlying transport uses socket addresses.

Closes #373
2018-10-26 14:23:33 -07:00
Sean McArthur
e40cc33e52 fix unreachable code if polling async Body created from a single buffer 2018-10-05 13:03:00 -07:00
Yannick Heinrich
c4bf420021 Integrate helper functions inside corresponding structs 2018-10-05 11:19:52 -07:00
Yannick Heinrich
647f59756e Add missing pub(crate) statements. 2018-10-05 11:19:52 -07:00
Paul Woolcock
4857a5917d From<http::Response> for Response (#360)
This adds an implementation to convert a `Response` type from the `http`
crate to the `async_impl::Response` type. This is the first step to
allow us to convert `http::Response` objects to `request::Response`
objects

This also adds an extension trait for the `http::response::Builder`
type. The `http::Response` object does not provide a way to access the
"final" url that the response is derived from, so we can't easily
provide that in the `From<http::Response>` implementation. For users who
are manually constructing `http::Response` objects for use in tests,
etc, they can import this extension trait, which adds a `.url()` builder
method that will allow them to pass a `Url`, which we then convert to
our newtype'd Url and add to the `http::Response`'s `extensions`. Then,
when converting from `http::Response` to `async_impl::Response` we can
pull that value out of the `extensions` and use it to construct the
`async_impl::Response`

Closes #333
2018-10-04 17:38:26 -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
Sean McArthur
449ec8f1f3 remove extra size_of tests 2018-09-19 15:28:20 -07:00
Sean McArthur
0735e586e5 reduce size of Response, async::Response, and async::Decoder 2018-09-19 15:23:01 -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
b95de15587 change Response::version() to return Version by value 2018-09-11 14:22:21 -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
e182c416c9 add hyper-011 cargo feature to ease migration 2018-08-15 16:47:02 -07:00
Sean McArthur
3fbda4fd49 remove unstable language and feature 2018-08-15 16:08:47 -07:00
Sean McArthur
d060891b62 fix async request builder tests 2018-08-15 15:36:05 -07:00
Sean McArthur
591b83a8b8 remove some unwraps 2018-08-15 15:22:28 -07:00
Konrad Borowski
279725ee5e Change RequestBuilder methods to own a builder
This means that `build` cannot possibly panic anymore due to being
called multiple times. This is a breaking change as it breaks the
behaviour of builder methods called without assigning to a new variable
or chaining. It's rather easy to fix those usages, as they won't
compile anymore and can be fixed by assigning a result.

Additionally, this change reduces the size of `RequestBuilder`,
although this likely isn't all that meaningful, as usually there
is no reason to store builders in structures.
2018-08-15 12:56:28 -07:00
Scott Schroeder
d8e47babf6 change invalid cert api to match native-tls (#327) 2018-08-13 15:08:02 -07:00
Yannick Heinrich
11f8588989 upgrade to native-tls 0.2 + invalid certs (#325)
- Bumps `native-tls` dependency to 0.2 and adapt code accordingly
- Import code used from `tokio-tls` into `connect_async` and adapt dependencies accordinlgy
- Add an option for using `danger_accept_invalid_certs` inside the `Config` struct
2018-08-08 13:14:36 -07:00
Douman
a25f62f4cb Use base64 to fully encode basic auth creds
Change basic_auth to use less allocations
2018-07-31 13:54:44 -07:00
Yash Srivastav
12cfbafc28 Add support for getting HTTP version of a response 2018-07-31 13:53:42 -07:00
Sean McArthur
6c78e363e0 remote tokio-core dependency 2018-07-05 14:06:01 -07:00
Yash Srivastav
c417d6dab8 Upgrade hyper to 0.12
Closes #304
2018-07-05 10:03:31 -07:00
Ben Shaw
7bd3619ece fix query doc typo (#309) 2018-06-26 18:40:28 -07:00
Mattias Päivärinta
31504388d7 Add status code accessor to RedirectAttempt (#285) 2018-04-15 15:11:50 -07:00
Sean McArthur
7db860759d Revert "Merge pull request #232 from tafia/hyper-proxy"
This reverts commit b09b8620a6, reversing
changes made to abfcd2796e.
2018-02-15 12:13:33 -08:00
Oliver Schneider
f0b774960d Allow unsized types in query, form and json 2018-02-01 14:44:39 +01:00
Simon Bernier St-Pierre
5672791ad0 add query method to unstable api 2018-01-22 20:42:05 -05:00
Sean McArthur
374ec44d34 remove deprecated no_proto usage of hyper 2018-01-05 15:20:40 -08:00
Sean McArthur
b09b8620a6 Merge pull request #232 from tafia/hyper-proxy
Remove proxy handling in favor of hyper-proxy crate
2018-01-02 10:12:44 -08:00
Johann Tuffe
4101c78a1f use hyper-proxy 0.4.0 which allows multiple proxies 2017-12-21 15:40:36 +08:00
Johann Tuffe
871b8076e4 add proxy authorization 2017-12-19 15:44:06 +08:00
Sean McArthur
120890f041 enable hyper's no_proto config 2017-12-18 18:20:35 -08:00
Johann Tuffe
07f89984c4 store intercept to set_proxy on requests 2017-12-18 17:53:17 +08:00
Johann Tuffe
8b1bb0b53e remove proxy handling in favor of hyper-proxy crate 2017-12-15 11:51:02 +08:00
knight42
f4437ea7b1 feat: set default headers 2017-10-22 13:01:35 +08:00
Henning Kowalk
9d158e69f8 Small yet annoying typo fixed. 2017-10-21 01:21:57 +02:00
Ömer Sinan Ağacan
d9d92b7479 Implement option to set num of DNS threads in async ClientBuilder 2017-10-09 21:16:04 +03:00
Kamal Marhubi
87f03e167c async: Add conversions from static slices to Body
These useful conversions were missed in #159.

refs #158
2017-09-21 01:18:05 -04:00
Christopher Vittal
8aaff6c326 Add into_body to async_impl::response::Response
Closes #200
2017-09-20 03:21:24 -04:00
Sean McArthur
390fc34148 wip 2017-09-04 13:11:20 -07:00