kutil_http/tls/
axum.rs

1use super::{acme::*, container::*, error::*};
2
3use {axum_server::tls_rustls::*, std::sync::*};
4
5impl TlsContainer {
6    /// Creates an axum [RustlsAcceptor].
7    pub fn axum_acceptor(&self) -> Result<RustlsAcceptor, TlsContainerError> {
8        Ok(RustlsAcceptor::new(self.axum_config()?))
9    }
10
11    /// Creates an [AxumAcceptor](rustls_acme::axum::AxumAcceptor).
12    #[cfg(feature = "acme")]
13    pub fn axum_acme_acceptor(&self, acme: ACME) -> Result<rustls_acme::axum::AxumAcceptor, TlsContainerError> {
14        // TODO
15        let state = acme.into_config().state();
16        let acceptor = state.axum_acceptor(Arc::new(self.http_server_config()?));
17        Ok(acceptor)
18    }
19
20    /// Creates an axum [RustlsConfig].
21    pub fn axum_config(&self) -> Result<RustlsConfig, TlsContainerError> {
22        Ok(RustlsConfig::from_config(Arc::new(self.http_server_config()?)))
23    }
24}