logo

Type Definition rocket::route::Outcome

source · []
pub type Outcome<'r> = Outcome<Response<'r>, Status, Data<'r>>;
Expand description

Type alias for the return type of a Route’s Handler::handle().

Implementations

Return the Outcome of response to req from responder.

If the responder returns Ok, an outcome of Success is returned with the response. If the responder returns Err, an outcome of Failure is returned with the status code.

Example
use rocket::{Request, Data, route};

fn str_responder<'r>(req: &'r Request, _: Data<'r>) -> route::Outcome<'r> {
    route::Outcome::from(req, "Hello, world!")
}

Return the Outcome of response to req from responder.

If the responder returns Ok, an outcome of Success is returned with the response. If the responder returns Err, an outcome of Failure is returned with the status code.

Example
use rocket::{Request, Data, route};

fn str_responder<'r>(req: &'r Request, _: Data<'r>) -> route::Outcome<'r> {
    route::Outcome::from(req, "Hello, world!")
}

Return the Outcome of response to req from responder.

If the responder returns Ok, an outcome of Success is returned with the response. If the responder returns Err, an outcome of Forward is returned.

Example
use rocket::{Request, Data, route};

fn str_responder<'r>(req: &'r Request, data: Data<'r>) -> route::Outcome<'r> {
    route::Outcome::from_or_forward(req, data, "Hello, world!")
}

Return an Outcome of Failure with the status code code. This is equivalent to Outcome::Failure(code).

This method exists to be used during manual routing.

Example
use rocket::{Request, Data, route};
use rocket::http::Status;

fn bad_req_route<'r>(_: &'r Request, _: Data<'r>) -> route::Outcome<'r> {
    route::Outcome::failure(Status::BadRequest)
}

Return an Outcome of Forward with the data data. This is equivalent to Outcome::Forward(data).

This method exists to be used during manual routing.

Example
use rocket::{Request, Data, route};

fn always_forward<'r>(_: &'r Request, data: Data<'r>) -> route::Outcome<'r> {
    route::Outcome::forward(data)
}