feat(lib): redesign API to use Futures and Tokio
There are many changes involved with this, but let's just talk about
user-facing changes.
- Creating a `Client` and `Server` now needs a Tokio `Core` event loop
to attach to.
- `Request` and `Response` both no longer implement the
`std::io::{Read,Write}` traits, but instead represent their bodies as a
`futures::Stream` of items, where each item is a `Chunk`.
- The `Client.request` method now takes a `Request`, instead of being
used as a builder, and returns a `Future` that resolves to `Response`.
- The `Handler` trait for servers is no more, and instead the Tokio
`Service` trait is used. This allows interoperability with generic
middleware.
BREAKING CHANGE: A big sweeping set of breaking changes.
This commit is contained in:
35
Cargo.toml
35
Cargo.toml
@@ -7,49 +7,34 @@ readme = "README.md"
|
||||
documentation = "http://hyperium.github.io/hyper"
|
||||
repository = "https://github.com/hyperium/hyper"
|
||||
license = "MIT"
|
||||
authors = ["Sean McArthur <sean.monstar@gmail.com>",
|
||||
"Jonathan Reem <jonathan.reem@gmail.com>"]
|
||||
authors = ["Sean McArthur <sean.monstar@gmail.com>"]
|
||||
keywords = ["http", "hyper", "hyperium"]
|
||||
|
||||
[dependencies]
|
||||
futures = "0.1.7"
|
||||
futures-cpupool = "0.1"
|
||||
httparse = "1.0"
|
||||
language-tags = "0.2"
|
||||
log = "0.3"
|
||||
mime = "0.2"
|
||||
rotor = "0.6"
|
||||
relay = "0.1"
|
||||
rustc-serialize = "0.3"
|
||||
spmc = "0.2"
|
||||
time = "0.1"
|
||||
tokio-core = "0.1"
|
||||
tokio-proto = "0.1"
|
||||
tokio-service = "0.1"
|
||||
unicase = "1.0"
|
||||
url = "1.0"
|
||||
vecio = "0.1"
|
||||
|
||||
[dependencies.cookie]
|
||||
version = "0.3"
|
||||
default-features = false
|
||||
|
||||
[dependencies.openssl]
|
||||
version = "0.7"
|
||||
optional = true
|
||||
|
||||
[dependencies.openssl-verify]
|
||||
version = "0.1"
|
||||
optional = true
|
||||
|
||||
[dependencies.security-framework]
|
||||
version = "0.1.4"
|
||||
optional = true
|
||||
|
||||
[dependencies.serde]
|
||||
version = "0.8"
|
||||
optional = true
|
||||
|
||||
[dev-dependencies]
|
||||
env_logger = "0.3"
|
||||
num_cpus = "1.0"
|
||||
pretty_env_logger = "0.1"
|
||||
spmc = "0.2"
|
||||
|
||||
[features]
|
||||
default = ["ssl"]
|
||||
ssl = ["openssl", "openssl-verify"]
|
||||
serde-serialization = ["serde", "mime/serde"]
|
||||
default = []
|
||||
nightly = []
|
||||
|
||||
Reference in New Issue
Block a user