//! This module contains outer middlewares.
//!
//! Middlewares are called `outer` if they called before filters, inner middlewares and handlers.
//! These middlewares have access to the [`request`] (with [`context`] in it),
//! but don't have access to the middlewares/handler-chain and the [`response`] (for these purposes, use [`inner middlewares`]).
//!
//! Prefer to use outer middlewares over inner middlewares in some cases:
//! - If you need to call middlewares before filters, inner middlewares and handlers
//! - If you need to manipulate with [`request`] and [`context`] in it
//!
//! You can check example of using outer middlewares in `examples/stats_incoming_updates_middleware`.
//!
//! [`request`]: telers::Request
//! [`response`]: telers::event::telegram::HandlerResponse
//! [`context`]: telers::context::Context
//! [`inner middlewares`]: telers::middlewares::inner
pub use ;
pub use ;
pub use FSMContext;
pub use Manager;
pub use UserContext;