Trait jsonrpc_core::middleware::Middleware[][src]

pub trait Middleware<M: Metadata>: Send + Sync + 'static {
    type Future: Future<Output = Option<Response>> + Send + 'static;
    type CallFuture: Future<Output = Option<Output>> + Send + 'static;
    fn on_request<F, X>(
        &self,
        request: Request,
        meta: M,
        next: F
    ) -> Either<Self::Future, X>
    where
        F: Fn(Request, M) -> X + Send + Sync,
        X: Future<Output = Option<Response>> + Send + 'static
, { ... }
fn on_call<F, X>(
        &self,
        call: Call,
        meta: M,
        next: F
    ) -> Either<Self::CallFuture, X>
    where
        F: Fn(Call, M) -> X + Send + Sync,
        X: Future<Output = Option<Output>> + Send + 'static
, { ... } }
Expand description

RPC middleware

Associated Types

A returned request future.

A returned call future.

Provided methods

Method invoked on each request. Allows you to either respond directly (without executing RPC call) or do any additional work before and/or after processing the request.

Method invoked on each call inside a request.

Allows you to either handle the call directly (without executing RPC call).

Implementations on Foreign Types

Implementors