Struct HttpTls
pub struct HttpTls {
pub acme: Acme,
pub domains: Vec<String>,
pub renewal_threshold_in_days: u64,
pub directory_root_ca_path: Option<PathBuf>,
/* private fields */
}Fields§
§acme: AcmeAcme config
domains: Vec<String>Domains served under this http server
renewal_threshold_in_days: u64Cert renewal threshold in days
directory_root_ca_path: Option<PathBuf>Optional path to PEM for ACME directory TLS (e.g. Pebble test root CA).
Implementations§
§impl HttpTls
impl HttpTls
pub async fn new(acme: Acme, domains: Vec<String>) -> Self
pub fn current_acceptor(&self) -> Option<TlsAcceptor>
pub fn current_acceptor(&self) -> Option<TlsAcceptor>
Returns TlsAcceptor with latest TLS certs
pub fn current_cert_expiry(&self) -> Option<i64>
pub fn spawn_renewal_worker(&self, shutdown: CancellationToken)
pub async fn renew_if_needed(&self) -> Result<bool>
pub fn build_tls_acceptor( cert_pem: &[u8], key_pem: &[u8], ) -> Result<TlsAcceptor>
Trait Implementations§
Auto Trait Implementations§
impl Freeze for HttpTls
impl !RefUnwindSafe for HttpTls
impl Send for HttpTls
impl Sync for HttpTls
impl Unpin for HttpTls
impl !UnwindSafe for HttpTls
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Applies the layer to a service and wraps it in [
Layered].