[][src]Trait rs_jsonrpc_core::Middleware

pub trait Middleware<M: Metadata>: Send + Sync + 'static {
type Future: Future<Item = Option<Response>, Error = ()> + Send + 'static;
    fn on_request<F, X>(
        &self,
        request: Request,
        meta: M,
        next: F
    ) -> Self::Future
    where
        F: FnOnce(Request, M) -> X + Send,
        X: Future<Item = Option<Response>, Error = ()> + Send + 'static
; }

RPC middleware

Associated Types

type Future: Future<Item = Option<Response>, Error = ()> + Send + 'static

A returned future.

Loading content...

Required methods

fn on_request<F, X>(&self, request: Request, meta: M, next: F) -> Self::Future where
    F: FnOnce(Request, M) -> X + Send,
    X: Future<Item = Option<Response>, Error = ()> + Send + 'static, 

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.

Loading content...

Implementations on Foreign Types

impl<M: Metadata, A: Middleware<M>, B: Middleware<M>> Middleware<M> for (A, B)[src]

type Future = A::Future

impl<M: Metadata, A: Middleware<M>, B: Middleware<M>, C: Middleware<M>> Middleware<M> for (A, B, C)[src]

type Future = A::Future

impl<M: Metadata, A: Middleware<M>, B: Middleware<M>, C: Middleware<M>, D: Middleware<M>> Middleware<M> for (A, B, C, D)[src]

type Future = A::Future

Loading content...

Implementors

impl<M: Metadata> Middleware<M> for Noop[src]

type Future = Box<dyn Future<Item = Option<Response>, Error = ()> + Send>

Loading content...