//! The request handler abstraction.
use crate;
/// Turns a [`Request`] into a [`Response`].
///
/// The trait is deliberately **synchronous**: the engine is sans-I/O and every
/// runtime (thread pool, tokio, mio) calls the handler the same way, so a
/// single handler implementation works everywhere. Handlers must be `Send +
/// Sync` because they are shared across worker threads / tasks.
/// Any `Fn(&Request) -> Response` is a handler.