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 to status!(status_code, "")
  • status!(status_code, message) will be expanded to status!(status_code, message, true)
  • status!(status_code, message, expose) will be expanded to Status::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(())
}