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 ad27db7
Show file tree
Hide file tree
Showing 4 changed files with 23 additions and 5 deletions.
2 changes: 2 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ matrix:
script:
- cargo test
- cargo test --features early-data
- cargo test ---no-default-features --features client
- cargo test ---no-default-features --features server
- cd examples/server
- cargo check
- cd ../../examples/client
Expand Down
15 changes: 13 additions & 2 deletions Cargo.toml
Original file line number Diff line number Diff line change
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
Original file line number Diff line number Diff line change
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
Original file line number Diff line number Diff line change
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 ad27db7

Please sign in to comment.