Skip to content

Commit

Permalink
feat(lib): add upgrade feature
Browse files Browse the repository at this point in the history
  • Loading branch information
tottoto committed Oct 3, 2023
1 parent da3fc76 commit 4e78bba
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 4 deletions.
9 changes: 6 additions & 3 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -30,12 +30,12 @@ httparse = "1.8"
h2 = { version = "0.3.9", optional = true }
itoa = "1"
pin-project-lite = "0.2.4"
tokio = { version = "1", features = ["sync"] }

# Optional

httpdate = { version = "1.0", optional = true }
libc = { version = "0.2", optional = true }
tokio = { version = "1", features = ["sync"], optional = true }
tracing = { version = "0.1", default-features = false, features = ["std"], optional = true }
want = { version = "0.3", optional = true }

Expand Down Expand Up @@ -74,13 +74,16 @@ full = [
]

# HTTP versions
http1 = []
http2 = ["dep:h2"]
http1 = ["upgrade"]
http2 = ["upgrade", "dep:h2"]

# Client/Server
client = ["dep:want"]
server = ["dep:httpdate"]

# HTTP Upgrades
upgrade = ["dep:tokio"]

# C-API support (currently unstable (no semver))
ffi = ["dep:libc", "dep:http-body-util"]

Expand Down
10 changes: 9 additions & 1 deletion src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -49,8 +49,10 @@
//! - `http2`: Enables HTTP/2 support.
//! - `client`: Enables the HTTP `client`.
//! - `server`: Enables the HTTP `server`.
//! - `upgrade`: Enables [HTTP Upgrades].
//!
//! [feature flags]: https://doc.rust-lang.org/cargo/reference/manifest.html#the-features-section
//! [Http Upgrades]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Protocol_upgrade_mechanism
//!
//! # Unstable Features
//! hyper includes a set of unstable optional features that can be enabled through the use of a
Expand All @@ -65,6 +67,7 @@
//! RUSTFLAGS="--cfg hyper_unstable_tracing" cargo rustc --features client,http1,http2,tracing --crate-type cdylib
//!```
//! [configuration flag]: https://doc.rust-lang.org/reference/conditional-compilation.html
#[doc(hidden)]
pub use http;

Expand Down Expand Up @@ -93,7 +96,6 @@ pub mod ext;
mod mock;
pub mod rt;
pub mod service;
pub mod upgrade;

#[cfg(feature = "ffi")]
#[cfg_attr(docsrs, doc(cfg(all(feature = "ffi", hyper_unstable_ffi))))]
Expand All @@ -115,3 +117,9 @@ cfg_feature! {

pub mod server;
}

cfg_feature! {
#![feature = "upgrade"]

pub mod upgrade;
}

0 comments on commit 4e78bba

Please sign in to comment.