mod asset; pub use asset::*; mod page; pub use page::*; mod redirect; pub use redirect::*; /// Something that may be served over http. pub trait Servable: Send + Sync { /// Return the same response as [Servable::render], but with an empty body. /// Used to respond to `HEAD` requests. fn head<'a>( &'a self, ctx: &'a crate::RenderContext, ) -> std::pin::Pin> + 'a + Send + Sync>>; /// Render this page fn render<'a>( &'a self, ctx: &'a crate::RenderContext, ) -> std::pin::Pin< Box> + 'a + Send + Sync>, >; }