diff --git a/src/lib.rs b/src/lib.rs index 64649e8..6c7907c 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,10 +1,10 @@ -//! tide tls listener built on async-tls and rustls +//! tide tls listener built on async-rustls and rustls //! //! //! # Example //! ```rust //! # use tide_rustls::TlsListener; -//! fn main() -> tide::Result<()> { async_std::task::block_on(async { +//! # fn main() -> tide::Result<()> { async_std::task::block_on(async { //! let mut app = tide::new(); //! app.at("/").get(|_| async { Ok("Hello tls") }); //! # if false { @@ -15,8 +15,7 @@ //! .key(std::env::var("TIDE_KEY_PATH").unwrap()), //! ) //! .await?; -//! # } -//! # Ok(()) }) } +//! # } Ok(()) }) } //! ``` #![forbid(unsafe_code, future_incompatible)] #![deny( diff --git a/src/tls_listener.rs b/src/tls_listener.rs index 2cb8f26..1fdac5c 100644 --- a/src/tls_listener.rs +++ b/src/tls_listener.rs @@ -44,12 +44,19 @@ impl Debug for TlsListener { &"None" }, ) + .field("tcp_ttl", &self.tcp_ttl) + .field("tcp_nodelay", &self.tcp_nodelay) .finish() } } impl TlsListener { - pub(crate) fn new(connection: TcpConnection, config: TlsListenerConfig, tcp_nodelay: Option, tcp_ttl: Option) -> Self { + pub(crate) fn new( + connection: TcpConnection, + config: TlsListenerConfig, + tcp_nodelay: Option, + tcp_ttl: Option, + ) -> Self { Self { connection, config, diff --git a/src/tls_listener_builder.rs b/src/tls_listener_builder.rs index 0abb26d..373e7e0 100644 --- a/src/tls_listener_builder.rs +++ b/src/tls_listener_builder.rs @@ -35,6 +35,18 @@ use std::sync::Arc; /// .config(rustls::ServerConfig::new(rustls::NoClientAuth::new())) /// .finish(); /// ``` +/// +/// ```rust +/// # use tide_rustls::TlsListener; +/// let listener = TlsListener::<()>::build() +/// .addrs("localhost:4433") +/// .cert("./tls/localhost-4433.cert") +/// .key("./tls/localhost-4433.key") +/// .tcp_ttl(60) +/// .tcp_nodelay(true) +/// .finish(); +/// ``` + pub struct TlsListenerBuilder { key: Option, cert: Option, @@ -86,6 +98,8 @@ impl std::fmt::Debug for TlsListenerBuilder { ) .field("tcp", &self.tcp) .field("addrs", &self.addrs) + .field("tcp_nodelay", &self.tcp_nodelay) + .field("tcp_ttl", &self.tcp_ttl) .finish() } } @@ -153,13 +167,13 @@ impl TlsListenerBuilder { } /// Provides a TCP_NODELAY option for this tls listener. - pub fn nodelay(mut self, nodelay: bool) -> Self { + pub fn tcp_nodelay(mut self, nodelay: bool) -> Self { self.tcp_nodelay = Some(nodelay); self } - /// Provides a TTL option for this tls listener. - pub fn ttl(mut self, ttl: u32) -> Self { + /// Provides a TTL option for this tls listener, in seconds. + pub fn tcp_ttl(mut self, ttl: u32) -> Self { self.tcp_ttl = Some(ttl); self }