Skip to content

Commit

Permalink
Add cargo features "client" and "server"
Browse files Browse the repository at this point in the history
Since many consumers of this library do not need both client and server
features, this allows them to shrink their dependencies somewhat.
  • Loading branch information
mbrubeck committed May 24, 2020
1 parent 644b906 commit 22b4875
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 5 deletions.
15 changes: 13 additions & 2 deletions Cargo.toml
Expand Up @@ -18,13 +18,24 @@ appveyor = { repository = "async-std/async-tls" }
[dependencies]
futures = "0.3.4"
rustls = "0.17.0"
webpki = "0.21.2"
webpki-roots = "0.19.0"
webpki = { version = "0.21.2", optional = true }
webpki-roots = { version = "0.19.0", optional = true }

[features]
default = ["client", "server"]
client = ["webpki", "webpki-roots"]
early-data = []
server = []

[dev-dependencies]
lazy_static = "1"
futures-util = "0.3"
async-std = { version = "1.0", features = ["unstable"] }

[[test]]
name = "test"
required-features = ["client", "server"]

[[test]]
name = "google"
required-features = ["client"]
9 changes: 7 additions & 2 deletions src/lib.rs
Expand Up @@ -2,16 +2,21 @@

#![deny(unsafe_code)]

#[cfg(feature = "server")]
mod acceptor;
#[cfg(feature = "client")]
pub mod client;
mod common;
#[cfg(feature = "client")]
mod connector;
mod rusttls;
#[cfg(feature = "server")]
pub mod server;

#[cfg(feature = "server")]
pub use acceptor::{Accept, TlsAcceptor};
#[cfg(feature = "client")]
pub use connector::{Connect, TlsConnector};

#[cfg(feature = "early-data")]
#[cfg(test)]
#[cfg(all(test, feature = "client", feature = "early-data"))]
mod test_0rtt;
2 changes: 1 addition & 1 deletion src/rusttls/stream.rs
Expand Up @@ -257,6 +257,6 @@ impl<'a, IO: AsyncRead + AsyncWrite + Unpin, S: Session> AsyncWrite for Stream<'
}
}

#[cfg(test)]
#[cfg(all(test, feature = "client"))]
#[path = "test_stream.rs"]
mod test_stream;

0 comments on commit 22b4875

Please sign in to comment.