pub trait HandlerMiddleware<T: Send + Sync + 'static>:
Send
+ Sync
+ 'static {
// Required method
fn wrap(
&self,
next: Arc<dyn MessageHandler<T>>,
) -> Arc<dyn MessageHandler<T>>;
}Expand description
Middleware that wraps a handler with cross-cutting concerns.
Each middleware receives the next handler in the chain and returns a new handler that adds behaviour around it (logging, metrics, error recovery, etc.).
Required Methods§
Sourcefn wrap(&self, next: Arc<dyn MessageHandler<T>>) -> Arc<dyn MessageHandler<T>>
fn wrap(&self, next: Arc<dyn MessageHandler<T>>) -> Arc<dyn MessageHandler<T>>
Wrap the given handler, returning a new handler that adds middleware behaviour.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".