pub struct RequestInterceptorChain { /* private fields */ }Expand description
Ordered chain of request interceptors, cheap to clone (Arc internally).
Implementations§
Source§impl RequestInterceptorChain
impl RequestInterceptorChain
pub fn new(interceptors: Vec<Arc<dyn RequestInterceptor>>) -> Self
pub fn empty() -> Self
pub fn is_empty(&self) -> bool
Sourcepub async fn pre_execute(
&self,
ctx: &mut RequestContext,
) -> Result<(), ExecuteError>
pub async fn pre_execute( &self, ctx: &mut RequestContext, ) -> Result<(), ExecuteError>
Run all pre_execute interceptors in order. Stops and returns Err on first rejection.
Sourcepub async fn post_execute(&self, ctx: &ResponseContext)
pub async fn post_execute(&self, ctx: &ResponseContext)
Run all post_execute interceptors in reverse order.
If an interceptor panics, the panic is caught and logged so that remaining interceptors still run.
Trait Implementations§
Source§impl Clone for RequestInterceptorChain
impl Clone for RequestInterceptorChain
Source§fn clone(&self) -> RequestInterceptorChain
fn clone(&self) -> RequestInterceptorChain
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 moreAuto Trait Implementations§
impl Freeze for RequestInterceptorChain
impl !RefUnwindSafe for RequestInterceptorChain
impl Send for RequestInterceptorChain
impl Sync for RequestInterceptorChain
impl Unpin for RequestInterceptorChain
impl UnsafeUnpin for RequestInterceptorChain
impl !UnwindSafe for RequestInterceptorChain
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> GetSetFdFlags for T
impl<T> GetSetFdFlags for T
Source§fn get_fd_flags(&self) -> Result<FdFlags, Error>where
T: AsFilelike,
fn get_fd_flags(&self) -> Result<FdFlags, Error>where
T: AsFilelike,
Query the “status” flags for the
self file descriptor.Source§fn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error>where
T: AsFilelike,
fn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error>where
T: AsFilelike,
Source§fn set_fd_flags(&mut self, set_fd_flags: SetFdFlags<T>) -> Result<(), Error>where
T: AsFilelike,
fn set_fd_flags(&mut self, set_fd_flags: SetFdFlags<T>) -> Result<(), Error>where
T: AsFilelike,
Set the “status” flags for the
self file descriptor. Read moreSource§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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request