Skip to content

Commit 8f1080e

Browse files
authored
Merge pull request #56 from SabrinaJewson/axum-listener-method
Use `.listener()` in the axum example
2 parents fd3793a + 51d6211 commit 8f1080e

File tree

1 file changed

+4
-10
lines changed

1 file changed

+4
-10
lines changed

examples/axum.rs

+4-10
Original file line numberDiff line numberDiff line change
@@ -20,19 +20,13 @@ async fn main() {
2020

2121
let local_addr = "0.0.0.0:3000".parse::<SocketAddr>().unwrap();
2222
let tcp_listener = tokio::net::TcpListener::bind(local_addr).await.unwrap();
23-
let listener = Listener {
24-
inner: TlsListener::new(tls_acceptor(), tcp_listener),
25-
local_addr,
26-
};
23+
let listener = Listener(TlsListener::new(tls_acceptor(), tcp_listener));
2724

2825
axum::serve(listener, app).await.unwrap();
2926
}
3027

3128
// We use a wrapper type to bridge axum's `Listener` trait to our `TlsListener` type.
32-
struct Listener {
33-
inner: TlsListener<TcpListener, tls_config::Acceptor>,
34-
local_addr: SocketAddr,
35-
}
29+
struct Listener(TlsListener<TcpListener, tls_config::Acceptor>);
3630

3731
impl axum::serve::Listener for Listener {
3832
type Io = tls_config::Stream<TcpStream>;
@@ -41,7 +35,7 @@ impl axum::serve::Listener for Listener {
4135
loop {
4236
// To change the TLS certificate dynamically, you could `select!` on this call with a
4337
// channel receiver, and call `self.inner.replace_acceptor` in the other branch.
44-
match self.inner.accept().await {
38+
match self.0.accept().await {
4539
Ok(tuple) => break tuple,
4640
Err(tls_listener::Error::ListenerError(e)) if !is_connection_error(&e) => {
4741
// See https://github.com/tokio-rs/axum/blob/da3539cb0e5eed381361b2e688a776da77c52cd6/axum/src/serve/listener.rs#L145-L157
@@ -53,7 +47,7 @@ impl axum::serve::Listener for Listener {
5347
}
5448
}
5549
fn local_addr(&self) -> io::Result<Self::Addr> {
56-
Ok(self.local_addr)
50+
self.0.listener().local_addr()
5751
}
5852
}
5953

0 commit comments

Comments
 (0)