Taiki Endo
053d6497bd
chore(dependencies): update tokio, h2, and tower-make
2019-09-23 12:45:37 -07:00
Weihang Lo
144893b409
Upgrade some lib tests to async/.await version ( #1882 )
...
* test(http): use async/.await
Signed-off-by: Weihang Lo <me@weihanglo.tw >
* test(pool): use async/.await
* test(pool): pass &mut Future into PollOnce
* test(client): tests/benches using async/.await
* test(client): change due to PR #1917
* test(client): change Delay to delay fucntion
Ref: https://github.com/tokio-rs/tokio/pull/1440
* test(client): remove warning triggers
2019-09-06 09:54:11 -07:00
Lucio Franco
eee2a72879
feat(client): provide tower::Service support for clients ( #1915 )
2019-08-30 12:54:22 -07:00
Alex Gaynor
eef407d60e
docs(client): Remove comment that had grown out of date ( #1918 )
2019-08-30 11:14:56 -07:00
Sean McArthur
049b5132db
feat(client): change GaiResolver to use a global blocking threadpool
...
BREAKING CHANGE: Calls to `GaiResolver::new` and `HttpConnector::new` no
longer should pass an integer argument for the number of threads.
2019-08-29 14:16:43 -07:00
Sean McArthur
5b1feb8a3c
refactor(lib): update to tokio alpha.4
2019-08-29 13:12:44 -07:00
Daniel Johnson
536779e16c
refactor(dns): migrate deprecated trim_{left,right} -> trim_{start,end}
2019-08-29 11:12:56 -07:00
Sean McArthur
49b12c415d
refactor(lib): fix remaining lint warnings (besides tests)
2019-08-22 13:57:50 -07:00
Sean McArthur
7b1d6d71b7
refactor(lib): fix many lint warnings
2019-08-21 11:58:02 -07:00
lzutao
fc7f81b67c
style(lib): use rust 2018 edition idioms ( #1910 )
2019-08-21 11:22:07 -07:00
lzutao
ae75b3a732
chore(lib): remove async_await feature gate ( #1909 )
...
`async_await` is stabilized in rust-lang/rust#63209 .
2019-08-21 11:09:14 -07:00
Douman
4920f5e264
chore(dependencies): Upgrade tokio
2019-08-19 09:00:21 -07:00
Kyle Huey
a503f8b336
fix(client): impl<T: Connect> Connect for Box<T> ( #1889 )
2019-08-14 14:10:40 -07:00
Weihang Lo
e90f0037d3
docs(client): HttpInfo doc test to async/await
2019-07-15 11:21:16 -07:00
Sean McArthur
5da17df97f
chore(lib): individually disable tests and examples that aren't updated
2019-07-12 13:44:03 -07:00
Sean McArthur
3524db9473
refactor(client): use a tokio-threadpool for the GaiResolver
2019-07-10 16:11:05 -07:00
Sean McArthur
8d4ae27b42
refactor(lib): remove build script detecting rust >= 1.34
2019-07-10 10:23:48 -07:00
Sean McArthur
8f4b05ae78
feat(lib): update to std::future::Future
...
BREAKING CHANGE: All usage of async traits (`Future`, `Stream`,
`AsyncRead`, `AsyncWrite`, etc) are updated to newer versions.
2019-07-09 15:55:22 -07:00
Sean McArthur
da9b0319ef
refactor(lib): update to 2018 edition
2019-07-09 15:16:01 -07:00
Dietmar Maurer
cf24765a22
style(client): HttpConnector: use consistent naming - s/buf/buffer/ ( #1840 )
...
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com >
2019-07-02 09:45:59 -07:00
Dietmar Maurer
386109c421
feat(client): HttpConnector: allow to set socket buffer sizes
...
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com >
2019-07-01 11:09:04 -07:00
Sean McArthur
01c03db7ea
chore(lib): add dyn keyword to trait objects ( #1820 )
...
Requires Rust 1.27.
2019-06-03 13:08:13 -07:00
Andy Moran
d1183a8027
feat(client): Implement TryFrom for Destination ( #1810 )
...
Add TryFrom<Uri> impl for Destination, for compiler version >= 1.34.
Closes #1808
2019-05-08 18:39:47 -07:00
Sean McArthur
c0e08a41cc
refactor(lib): improve client and h1 logs
2019-02-15 15:58:35 -08:00
Sean McArthur
18f022c70b
docs(lib): fix several broken links throughout docs
...
Closes #1749
Closes #1750
2019-01-24 11:20:22 -08:00
Sean McArthur
c328c62ec2
fix(client): parse IPv6 hosts correctly in HttpConnector
2019-01-23 11:24:26 -08:00
Sean McArthur
83dad03a81
test(client): update tests for http::Uri::host fix
2019-01-22 15:02:23 -08:00
Sean McArthur
c69d1094b3
refactor(lib): replace 'try' macro with '?'
2019-01-18 14:29:12 -08:00
Lucio Franco
c809542c83
feat(client): add Destination::try_from_uri constructor
...
This change adds a try_from_uri function for creating Destinations
outside of the hyper crate. The Destination can only be built if the
uri contains a valid authority and scheme as these are required to
build a Destination.
2019-01-15 09:45:30 -08:00
Linus Färnstrand
be5ec45571
feat(client): Add useful trait impls to Name
2019-01-11 10:01:28 -08:00
Sean McArthur
8842da9184
docs(client): touch ups for Client, Builder, and connect types
2019-01-10 12:18:16 -08:00
Linus Färnstrand
607c4da0b9
feat(client): add FromStr impl for Name
2019-01-10 09:39:26 -08:00
Sean McArthur
1d253b4d47
fix(rt): prevent fallback reactor thread from being created accidentally
...
Switches from `Handle::current()` to `Handle::default()`.
2018-12-18 12:44:08 -08:00
Sean McArthur
65788fe7fe
test(client): disable happy eyeballs tests except in CI
2018-12-05 10:57:37 -08:00
Jeff Labonte
69368f433f
refactor(client): update from deprecated Uri::port to port_part ( #1722 )
2018-11-26 10:06:40 -08:00
Sean McArthur
976a77a673
feat(client): add ALPN h2 support for client connectors
...
- Adds `Connected::negotiated_h2()` method to signal the connection must
use HTTP2. `Connect` implementations should set this if using ALPN.
If a connection to a host is detected to have been upgraded via ALPN,
any other oustanding connect futures will be canceled, and the waiting
requests will make use of the single HTTP2 connection.
The `http2_only` builder configuration still works the same, not
requiring ALPN at all, and always using only a single connection.
2018-10-31 14:51:29 -07:00
Sean McArthur
deaa5d1aa9
chore(client): fix infinite recursion in TokioThreadpoolGaiResolver::new
2018-10-23 13:34:47 -07:00
Sean McArthur
34d780acd0
feat(dns): export client::connect::dns module, and
...
`TokioThreadpoolGaiResolver` type.
2018-10-23 12:49:56 -07:00
Steven Fackler
1e8d6439cf
feat(dns): tokio_threadpool::blocking resolver
...
Unlike the default resolver, this avoids spawning extra dedicated
threads but only works on the multi-threaded Tokio runtime.
Closes #1676
2018-10-23 09:57:04 -07:00
Sean McArthur
6fe532da4c
feat(client): allow Connected::extra to be chained to connectors can be composed
2018-10-18 15:51:19 -07:00
Sean McArthur
2d5af177c1
feat(client): add Resolve, used by HttpConnector
...
This introduces a `Resolve` trait to describe asynchronous DNS
resolution. The `HttpConnector` can be configured with a resolver,
allowing a user to still use all the functionality of the
`HttpConnector`, while customizing the DNS resolution.
To prevent a breaking change, the `HttpConnector` has its `Resolve`
generic set by default to `GaiResolver`. This is same as the existing
resolver, which uses `getaddrinfo` inside a thread pool.
Closes #1517
2018-10-18 12:10:15 -07:00
Sean McArthur
13d53e1d0c
feat(client): adds HttpInfo to responses when HttpConnector is used
...
- Adds `client::connect::Connected::extra()`, which allows connectors to
specify arbitrary custom information about a connected transport.
If a connector provides this extra value, it will be set in the
`Response` extensions.
Closes #1402
2018-10-16 14:40:50 -07:00
Sean McArthur
af5e4f3ec2
fix(client): allow calling Destination::set_host with IPv6 addresses
...
Closes #1661
2018-09-27 17:34:05 -07:00
Sean McArthur
5bfc110538
refactor(client): improve connect module structure
2018-09-27 14:50:11 -07:00