Skip to main content

ServerMiddleware

Trait ServerMiddleware 

Source
pub trait ServerMiddleware<State, Context> {
    // Provided methods
    fn pre_startup(
        &mut self,
        _context: &Context,
        _state: &mut State,
        message: PreStartupMessage,
    ) -> PreStartupMessage { ... }
    fn startup(
        &mut self,
        _context: &Context,
        _state: &mut State,
        message: StartupMessage,
    ) -> StartupMessage { ... }
    fn cancellation(
        &mut self,
        _context: &Context,
        _state: &mut State,
        request: CancellationRequest,
    ) -> CancellationRequest { ... }
    fn frontend(
        &mut self,
        _context: &Context,
        _state: &mut State,
        message: FrontendMessage,
    ) -> FrontendMessage { ... }
    fn backend(
        &mut self,
        _context: &Context,
        _state: &mut State,
        message: BackendMessage,
    ) -> BackendMessage { ... }
}
Expand description

Middleware for a PostgreSQL server role. Implement only the directions used.

Provided Methods§

Source

fn pre_startup( &mut self, _context: &Context, _state: &mut State, message: PreStartupMessage, ) -> PreStartupMessage

Intercepts one pre-startup packet before protocol dispatch.

Source

fn startup( &mut self, _context: &Context, _state: &mut State, message: StartupMessage, ) -> StartupMessage

Intercepts the owned startup message before authentication.

Source

fn cancellation( &mut self, _context: &Context, _state: &mut State, request: CancellationRequest, ) -> CancellationRequest

Intercepts an out-of-band cancellation request before it is returned.

Source

fn frontend( &mut self, _context: &Context, _state: &mut State, message: FrontendMessage, ) -> FrontendMessage

Intercepts one message received from the client.

Source

fn backend( &mut self, _context: &Context, _state: &mut State, message: BackendMessage, ) -> BackendMessage

Intercepts one message sent by the server.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl<S, C> ServerMiddleware<S, C> for IdentityServerHandler

Source§

impl<State, Context, First, Second> ServerMiddleware<State, Context> for MiddlewareChain<First, Second>
where First: ServerMiddleware<State, Context>, Second: ServerMiddleware<State, Context>,

Source§

impl<State, Context> ServerMiddleware<State, Context> for IdentityMiddleware