pub trait NewMiddleware: Sync + RefUnwindSafe {
    type Instance: Middleware;

    fn new_middleware(&self) -> Result<Self::Instance>;
}
Expand description

A type which is used to spawn new Middleware values. When implementing a Middleware, this defines how instances of the Middleware are created.

This can be derived by Middleware that implement Clone, and will result in the following implementation:

struct MyMiddleware;

impl NewMiddleware for MyMiddleware {
    type Instance = Self;

    fn new_middleware(&self) -> io::Result<Self::Instance> {
        Ok(self.clone())
    }
}

Required Associated Types§

The type of Middleware created by the NewMiddleware.

Required Methods§

Create and return a new Middleware value.

Implementors§

Implementation of NewMiddleware is required for Gotham middleware.

This will simply dereference the internal state, rather than deriving NewMiddleware which will clone the structure - should be cheaper for repeated calls.

Implementation of NewMiddleware is required for Gotham middleware.

This will simply dereference the internal state, rather than deriving NewMiddleware which will clone the structure - should be cheaper for repeated calls.

NewMiddleware trait implementation.

NewMiddleware trait implementation.

NewMiddleware trait implementation.