[][src]Struct tonic::Interceptor

pub struct Interceptor { /* fields omitted */ }

Represents a gRPC interceptor.

gRPC interceptors are similar to middleware but have much less flexibility. This interceptor allows you to do two main things, one is to add/remove/check items in the MetadataMap of each request. Two, cancel a request with any Status.

An interceptor can be used on both the server and client side through the tonic-build crate's generated structs.

These interceptors do not allow you to modify the Message of the request but allow you to check for metadata. If you would like to apply middleware like features to the body of the request, going through the tower abstraction is recommended.


impl Interceptor[src]

pub fn new(
    f: impl Fn(Request<()>) -> Result<Request<()>, Status> + Send + Sync + 'static
) -> Self

Create a new Interceptor from the provided function.

Trait Implementations

impl Clone for Interceptor[src]

impl Debug for Interceptor[src]

impl<F> From<F> for Interceptor where
    F: Fn(Request<()>) -> Result<Request<()>, Status> + Send + Sync + 'static, 

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized

impl<T> Borrow<T> for T where
    T: ?Sized

impl<T> BorrowMut<T> for T where
    T: ?Sized

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 

impl<T> ToOwned for T where
    T: Clone

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 

impl<T> WithSubscriber for T[src]