pub trait NewMiddleware: Sync + RefUnwindSafe {
type Instance: Middleware;
// Required method
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) -> anyhow::Result<Self::Instance> {
Ok(self.clone())
}
}Required Associated Types§
Sourcetype Instance: Middleware
type Instance: Middleware
The type of Middleware created by the NewMiddleware.
Required Methods§
Sourcefn new_middleware(&self) -> Result<Self::Instance>
fn new_middleware(&self) -> Result<Self::Instance>
Create and return a new Middleware value.
Implementors§
Source§impl NewMiddleware for CookieParser
NewMiddleware trait implementation.
impl NewMiddleware for CookieParser
NewMiddleware trait implementation.
type Instance = CookieParser
Source§impl NewMiddleware for RequestLogger
Implementation of NewMiddleware is required for Gotham middleware.
impl NewMiddleware for RequestLogger
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.
type Instance = RequestLogger
Source§impl NewMiddleware for SimpleLogger
Implementation of NewMiddleware is required for Gotham middleware.
impl NewMiddleware for SimpleLogger
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.
type Instance = SimpleLogger
Source§impl NewMiddleware for SecurityMiddleware
NewMiddleware trait implementation.
impl NewMiddleware for SecurityMiddleware
NewMiddleware trait implementation.
Source§impl NewMiddleware for RequestTimer
NewMiddleware trait implementation.
impl NewMiddleware for RequestTimer
NewMiddleware trait implementation.
type Instance = RequestTimer
Source§impl<T> NewMiddleware for StateMiddleware<T>
NewMiddleware trait implementation.
impl<T> NewMiddleware for StateMiddleware<T>
NewMiddleware trait implementation.