pub struct Status {
pub status_code: StatusCode,
pub message: String,
pub expose: bool,
}
Expand description
The Status
of roa.
Fields
status_code: StatusCode
StatusCode will be responded to client if Error is thrown by the top middleware.
Example
use roa_core::{App, Context, Next, Result, MiddlewareExt, throw};
use roa_core::http::StatusCode;
let app = App::new().gate(gate).end(end);
async fn gate(ctx: &mut Context, next: Next<'_>) -> Result {
ctx.resp.status = StatusCode::OK;
next.await // not caught
}
async fn end(ctx: &mut Context) -> Result {
throw!(StatusCode::IM_A_TEAPOT, "I'm a teapot!"); // throw
unreachable!()
}
message: String
Data will be written to response body if self.expose is true. StatusCode will be responded to client if Error is thrown by the top middleware.
Example
use roa_core::{App, Context, Result, Status};
use roa_core::http::StatusCode;
let app = App::new().end(end);
async fn end(ctx: &mut Context) -> Result {
Err(Status::new(StatusCode::IM_A_TEAPOT, "I'm a teapot!", false)) // message won't be exposed to user.
}
expose: bool
if message exposed.
Implementations
Construct an error.
Trait Implementations
status endpoint.
Auto Trait Implementations
impl RefUnwindSafe for Status
impl UnwindSafe for Status
Blanket Implementations
Mutably borrows from an owned value. Read more
Compare self to key
and return true
if they are equal.
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more