Struct CatchPanicLayer
pub struct CatchPanicLayer<T> { /* private fields */ }Available on crate feature
http only.Expand description
Layer that applies the CatchPanic middleware that catches panics and converts them into
500 Internal Server responses.
See the module docs for an example.
Implementations§
§impl CatchPanicLayer<DefaultResponseForPanic>
impl CatchPanicLayer<DefaultResponseForPanic>
pub const fn new() -> CatchPanicLayer<DefaultResponseForPanic>
pub const fn new() -> CatchPanicLayer<DefaultResponseForPanic>
Create a new CatchPanicLayer with the Default] panic handler.
§impl<T> CatchPanicLayer<T>
impl<T> CatchPanicLayer<T>
pub fn custom(panic_handler: T) -> CatchPanicLayer<T>where
T: ResponseForPanic,
pub fn custom(panic_handler: T) -> CatchPanicLayer<T>where
T: ResponseForPanic,
Create a new CatchPanicLayer with a custom panic handler.
Trait Implementations§
§impl<T> Clone for CatchPanicLayer<T>where
T: Clone,
impl<T> Clone for CatchPanicLayer<T>where
T: Clone,
§fn clone(&self) -> CatchPanicLayer<T>
fn clone(&self) -> CatchPanicLayer<T>
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read more§impl<T> Debug for CatchPanicLayer<T>where
T: Debug,
impl<T> Debug for CatchPanicLayer<T>where
T: Debug,
§impl Default for CatchPanicLayer<DefaultResponseForPanic>
impl Default for CatchPanicLayer<DefaultResponseForPanic>
§fn default() -> CatchPanicLayer<DefaultResponseForPanic>
fn default() -> CatchPanicLayer<DefaultResponseForPanic>
Returns the “default value” for a type. Read more
§impl<T, S> Layer<S> for CatchPanicLayer<T>where
T: Clone,
impl<T, S> Layer<S> for CatchPanicLayer<T>where
T: Clone,
§type Service = CatchPanic<S, T>
type Service = CatchPanic<S, T>
The service produced by the layer.
§fn layer(&self, inner: S) -> <CatchPanicLayer<T> as Layer<S>>::Service
fn layer(&self, inner: S) -> <CatchPanicLayer<T> as Layer<S>>::Service
Wrap the given service with the middleware, returning a new service.
§fn into_layer(self, inner: S) -> <CatchPanicLayer<T> as Layer<S>>::Service
fn into_layer(self, inner: S) -> <CatchPanicLayer<T> as Layer<S>>::Service
Same as
layer but consuming self after the service was created. Read moreAuto Trait Implementations§
impl<T> Freeze for CatchPanicLayer<T>where
T: Freeze,
impl<T> RefUnwindSafe for CatchPanicLayer<T>where
T: RefUnwindSafe,
impl<T> Send for CatchPanicLayer<T>where
T: Send,
impl<T> Sync for CatchPanicLayer<T>where
T: Sync,
impl<T> Unpin for CatchPanicLayer<T>where
T: Unpin,
impl<T> UnwindSafe for CatchPanicLayer<T>where
T: UnwindSafe,
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> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
§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> 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> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§fn and<P, B, E>(self, other: P) -> And<T, P>
fn and<P, B, E>(self, other: P) -> And<T, P>
Create a new
Policy that returns Action::Follow only if self and other return
Action::Follow. Read more