pub struct SslRedirectLayer { /* private fields */ }Expand description
Redirect settings. Apply them with
SslRedirectRouterExt::ssl_redirect.
Implementations§
Source§impl SslRedirectLayer
impl SslRedirectLayer
Sourcepub fn new() -> Self
pub fn new() -> Self
No proxy header, nothing exempt. Behind a TLS-terminating
proxy, add Self::proxy_ssl_header or you get a redirect
loop.
Sourcepub fn proxy_ssl_header(
self,
header: impl AsRef<str>,
value: impl AsRef<str>,
) -> Self
pub fn proxy_ssl_header( self, header: impl AsRef<str>, value: impl AsRef<str>, ) -> Self
Declare the header your proxy sets when the original request used HTTPS. A matching value skips the redirect.
The layer trusts this header, so the proxy must strip any copy the client sends.
ⓘ
SslRedirectLayer::new().proxy_ssl_header("X-Forwarded-Proto", "https")An invalid header name or value is ignored, as if you never called this method.
Sourcepub fn exempt<I, S>(self, paths: I) -> Self
pub fn exempt<I, S>(self, paths: I) -> Self
Add path prefixes that skip the redirect, such as health checks reached over plain HTTP.
Trait Implementations§
Source§impl Clone for SslRedirectLayer
impl Clone for SslRedirectLayer
Source§impl Debug for SslRedirectLayer
impl Debug for SslRedirectLayer
Auto Trait Implementations§
impl !Freeze for SslRedirectLayer
impl RefUnwindSafe for SslRedirectLayer
impl Send for SslRedirectLayer
impl Sync for SslRedirectLayer
impl Unpin for SslRedirectLayer
impl UnsafeUnpin for SslRedirectLayer
impl UnwindSafe for SslRedirectLayer
Blanket Implementations§
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
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