Skip to content

Commit ad27db7

Browse files
committed
Add cargo features "client" and "server"
Since many consumers of this library do not need both client and server features, this allows them to shrink their dependencies somewhat.
1 parent 644b906 commit ad27db7

File tree

4 files changed

+23
-5
lines changed

4 files changed

+23
-5
lines changed

.travis.yml

+2
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ matrix:
1515
script:
1616
- cargo test
1717
- cargo test --features early-data
18+
- cargo test ---no-default-features --features client
19+
- cargo test ---no-default-features --features server
1820
- cd examples/server
1921
- cargo check
2022
- cd ../../examples/client

Cargo.toml

+13-2
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,24 @@ appveyor = { repository = "async-std/async-tls" }
1818
[dependencies]
1919
futures = "0.3.4"
2020
rustls = "0.17.0"
21-
webpki = "0.21.2"
22-
webpki-roots = "0.19.0"
21+
webpki = { version = "0.21.2", optional = true }
22+
webpki-roots = { version = "0.19.0", optional = true }
2323

2424
[features]
25+
default = ["client", "server"]
26+
client = ["webpki", "webpki-roots"]
2527
early-data = []
28+
server = []
2629

2730
[dev-dependencies]
2831
lazy_static = "1"
2932
futures-util = "0.3"
3033
async-std = { version = "1.0", features = ["unstable"] }
34+
35+
[[test]]
36+
name = "test"
37+
required-features = ["client", "server"]
38+
39+
[[test]]
40+
name = "google"
41+
required-features = ["client"]

src/lib.rs

+7-2
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,21 @@
22
33
#![deny(unsafe_code)]
44

5+
#[cfg(feature = "server")]
56
mod acceptor;
7+
#[cfg(feature = "client")]
68
pub mod client;
79
mod common;
10+
#[cfg(feature = "client")]
811
mod connector;
912
mod rusttls;
13+
#[cfg(feature = "server")]
1014
pub mod server;
1115

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

15-
#[cfg(feature = "early-data")]
16-
#[cfg(test)]
21+
#[cfg(all(test, feature = "client", feature = "early-data"))]
1722
mod test_0rtt;

src/rusttls/stream.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -257,6 +257,6 @@ impl<'a, IO: AsyncRead + AsyncWrite + Unpin, S: Session> AsyncWrite for Stream<'
257257
}
258258
}
259259

260-
#[cfg(test)]
260+
#[cfg(all(test, feature = "client"))]
261261
#[path = "test_stream.rs"]
262262
mod test_stream;

0 commit comments

Comments
 (0)