Struct tonic::Interceptor[][src]

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.

Implementations

impl Interceptor[src]

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

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, 
[src]

Auto Trait Implementations

impl !RefUnwindSafe for Interceptor

impl Send for Interceptor

impl Sync for Interceptor

impl Unpin for Interceptor

impl !UnwindSafe for Interceptor

Blanket Implementations

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

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

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

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pointable for T[src]

type Init = T

The type for initializers.

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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>, 
[src]

impl<T> WithSubscriber for T[src]