/// Middleware Macro
///
/// # Example
///
/// ```
/// use std::time::Instant;
/// use oxidy::{Server, Context, Returns, middleware};
///
/// async fn mid(mut c: Context) -> Returns {
/// let start: Instant = Instant::now();
/// c.response.body = "Middleware Function".to_owned();
/// (c, None)
/// }
///
/// let mut app = Server::new();
/// app.add(middleware!(mid));
/// ```