use crate::{Request, Data}; use crate::handler::HandlerFuture; use crate::catcher::ErrorHandlerFuture; use crate::http::{Status, Method, MediaType}; /// Type of a route handler, generated from a `fn` annotated with `#[route]`. pub type StaticHandler = for<'r> fn(&'r Request<'_>, Data) -> HandlerFuture<'r>; /// Type of an error handler, generated from a `fn` annotated with `#[catch]`. pub type StaticErrorHandler = for<'r> fn(Status, &'r Request<'_>) -> ErrorHandlerFuture<'r>; /// Information generated by the `route` attribute during codegen. pub struct StaticRouteInfo { /// The route's name, i.e, the name of the function. pub name: &'static str, /// The route's method. pub method: Method, /// The route's path, without the base mount point. pub path: &'static str, /// The route's format, if any. pub format: Option, /// The route's handler, i.e, the annotated function. pub handler: StaticHandler, /// The route's rank, if any. pub rank: Option, } /// Information generated by the `catch` attribute during codegen. pub struct StaticCatcherInfo { /// The catcher's status code. pub code: Option, /// The catcher's handler, i.e, the annotated function. pub handler: StaticErrorHandler, }