macro_rules! status {
($status_code:expr) => { ... };
($status_code:expr, $message:expr) => { ... };
($status_code:expr, $message:expr, $expose:expr) => { ... };
}
Expand description
Construct a Status
.
status!(status_code)
will be expanded tostatus!(status_code, "")
status!(status_code, message)
will be expanded tostatus!(status_code, message, true)
status!(status_code, message, expose)
will be expanded toStatus::new(status_code, message, expose)
Example
use roa_core::{App, Context, Next, Result, status};
use roa_core::http::StatusCode;
let app = App::new()
.gate(gate)
.end(status!(StatusCode::IM_A_TEAPOT, "I'm a teapot!"));
async fn gate(ctx: &mut Context, next: Next<'_>) -> Result {
next.await?; // throw
unreachable!();
ctx.resp.status = StatusCode::OK;
Ok(())
}