Open
Description
A nice reference for this is axum-server
tls-rustls = ["tls-rustls-no-provider", "rustls/aws-lc-rs"]
tls-rustls-no-provider = [...]
Such a design would make it easy for downstream to select the appropriate provider they need. Regarding hyper-rustls
where this package is inheriting, I've opened an equivalent issue for a similar design, but even in their current form this can be configured with:
default = ["http-listener", "push-gateway", "_hyper-rustls-aws-lc-rs"]
_hyper-client = [
"http-body-util",
"hyper/client",
"hyper-util/client",
"hyper-util/http1",
"hyper-util/client-legacy",
"_hyper-rustls-no-provider",
]
_hyper-rustls-aws-lc-rs = ["hyper-rustls/aws-lc-rs"]
_hyper-rustls-no-provider = ["hyper-rustls/native-tokio", "hyper-rustls/http1", "hyper-rustls/tls12", "hyper-rustls/logging"]
As long as it is easy to detach the aws-lc-rs
from the top-most default
, that would help with forwarding this option through the dependency chain