Commit Graph

383 Commits

Author SHA1 Message Date
Sean McArthur
8d4ae27b42 refactor(lib): remove build script detecting rust >= 1.34 2019-07-10 10:23:48 -07:00
Sean McArthur
c2a539783d chore(dependencies): remove tokio-executor from runtime feature 2019-07-10 10:16:35 -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
Sean McArthur
79ae89e066 chore(lib): prepare master for 0.13.x changes 2019-07-09 13:34:56 -07:00
Sean McArthur
5d44f8841c v0.12.32 2019-07-08 16:17:40 -07:00
Sean McArthur
31ec07a387 v0.12.31 2019-06-25 16:08:24 -07:00
Sean McArthur
dc5d9cf8a7 chore(cargo): include build.rs when publishing 2019-06-25 15:19:45 -07:00
Igor Gnatenko
3e1abcf22a chore(dependencies): Update want to 0.2 (#1833) 2019-06-21 23:57:17 -07:00
Igor Gnatenko
dd563bc7ff chore(dependencies): Update pretty_env_logger to 0.3 2019-06-21 10:49:25 -07:00
Sean McArthur
6b2940631e v0.12.30 2019-06-14 13:43:00 -07:00
Sean McArthur
e0f5a9c6c5 v0.12.29 2019-05-16 15:20:30 -07:00
Lucio Franco
2d9f3490aa feat(body): implement http_body::Body for hyper::Body
This adds a `http_body::Body` impl for hypers `Body`. This should
allow us to start moving to a more generic body trait based on
`BufStream` and `http-body`.
2019-05-16 14:21:42 -07:00
Sean McArthur
778421eb94 v0.12.28 2019-04-29 16:20:43 -07:00
Sean McArthur
0f33354569 v0.12.27 2019-04-10 09:44:18 -07:00
Sean McArthur
2ef562a165 v0.12.26 2019-04-09 12:52:41 -07:00
Sean McArthur
8c345d5590 v0.12.25 2019-03-01 15:04:03 -08:00
Steven Fackler
4cf22dfa21 feat(error): implement Error::source when available
Closes #1768
2019-02-27 13:18:02 -08:00
Sean McArthur
0c8f7d2708 v0.12.24 2019-02-11 12:10:21 -08:00
Sean McArthur
8393dc9f18 v0.12.23 2019-01-24 11:21:25 -08:00
Sean McArthur
9aa7e99010 fix(http2): revert http2 refactor causing a client hang
This reverts commit 7b7dcc8f68.
2019-01-24 11:10:19 -08:00
Sean McArthur
4dd9437560 v0.12.22 2019-01-23 11:38:23 -08:00
Sean McArthur
7b7dcc8f68 refactor(http2): remove extra mpsc trying to work around h2 hang 2019-01-22 15:11:03 -08:00
Sean McArthur
83dad03a81 test(client): update tests for http::Uri::host fix 2019-01-22 15:02:23 -08:00
Sean McArthur
6bce753f32 v0.12.21 2019-01-15 10:13:25 -08:00
Sean McArthur
ec7b93c982 v0.12.20 2019-01-07 15:04:42 -08:00
Sean McArthur
e5135dd6f6 fix(dependencies): disable unneeded optional tokio features
Closes #1739
2019-01-07 15:03:20 -08:00
Sean McArthur
5abbe59696 v0.12.19 2018-12-18 12:47:11 -08:00
Sean McArthur
720c068e56 v0.12.18 2018-12-11 16:14:13 -08:00
Sean McArthur
fdd0413418 v0.12.17 2018-12-05 17:01:07 -08:00
Sean McArthur
65788fe7fe test(client): disable happy eyeballs tests except in CI 2018-12-05 10:57:37 -08:00
Sean McArthur
c35bdca8fa chore(dependencies): update http to 0.1.14 for Uri::port_part 2018-11-27 11:55:02 -08:00
Sean McArthur
7fb6e3a3ff v0.12.16 2018-11-21 16:43:12 -08:00
Sean McArthur
92a8aba610 v0.12.15 2018-11-20 12:55:08 -08:00
Sean McArthur
1158bd20b3 v0.12.14 2018-11-07 11:01:47 -08:00
Sean McArthur
3af6aa80af v0.12.13 2018-10-26 13:04:03 -07:00
Sean McArthur
dcf0347151 test(benches): add http1 pipeline bench target 2018-10-23 16:01:16 -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
ced949cb6b feat(server): allow !Send Servers
Until this commit, servers have required that `Service` and their
`Future` to be `Send`, since the server needs to spawn some internal
tasks to an executor, and by default, that is `tokio::spawn`, which
could be spawning to a threadpool. This was true even if the user were
certain there was no threadpool involved, and was instead using a
different single-threaded runtime, like
`tokio::runtime::current_thread`.

This changes makes all the server pieces generic over an `E`, which is
essentially `Executor<PrivateTypes<Server::Future>>`. There's a new set
of internal traits, `H2Exec` and `NewSvcExec`, which allow for the type
signature to only show the generics that the user is providing. The
traits cannot be implemented explicitly, but there are blanket
implementations for `E: Executor<SpecificType>`. If the user provides
their own executor, it simply needs to have a generic `impl<F>
Executor<F> for MyExec`. That impl can have bounds deciding whether to
require `F: Send`. If the executor does require `Send`, and the
`Service` futures are `!Send`, there will be compiler errors.

To prevent a breaking change, all the types that gained the `E` generic
have a default type set, which is the original `tokio::spawn` executor.
2018-10-16 13:21:45 -07:00
Sean McArthur
00c96de0b9 v0.12.12 2018-10-16 10:22:02 -07:00
Ahmed Charles
9fa721df9e docs(examples): add proxy example 2018-10-02 10:07:31 -07:00
Sean McArthur
5c3415d704 v0.12.11 2018-09-28 13:04:52 -07:00
Sean McArthur
09156a70a6 refactor(lib): remove build script features since minimum version is higher 2018-09-28 12:02:21 -07:00
Sean McArthur
8f91747466 v0.12.10 2018-09-14 17:43:30 -07:00
Sean McArthur
2f19578162 test(http1): add test for when headers contain HTABs 2018-09-14 17:42:10 -07:00
Sean McArthur
57556e6329 v0.12.9 2018-08-28 17:31:21 -07:00
Sean McArthur
bdbaa85f41 v0.12.8 2018-08-10 14:42:27 -07:00
Niv Kaminer
9f8add6056 chore(client): place the use of new rust features behind cfg 2018-08-07 19:36:00 -07:00
Sean McArthur
069a32b1ac v0.12.7 2018-07-23 09:51:38 -07:00