Expand description
Type alias for the return type of a Route
’s
Handler::handle()
.
Implementations
sourceimpl<'r, 'o: 'r> Outcome<'o>
impl<'r, 'o: 'r> Outcome<'o>
sourcepub fn from<R: Responder<'r, 'o>>(
req: &'r Request<'_>,
responder: R
) -> Outcome<'r>
pub fn from<R: Responder<'r, 'o>>(
req: &'r Request<'_>,
responder: R
) -> Outcome<'r>
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!")
}
sourcepub fn try_from<R, E>(req: &'r Request<'_>, result: Result<R, E>) -> Outcome<'r> where
R: Responder<'r, 'o>,
E: Debug,
pub fn try_from<R, E>(req: &'r Request<'_>, result: Result<R, E>) -> Outcome<'r> where
R: Responder<'r, 'o>,
E: Debug,
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!")
}
sourcepub fn from_or_forward<R>(
req: &'r Request<'_>,
data: Data<'r>,
responder: R
) -> Outcome<'r> where
R: Responder<'r, 'o>,
pub fn from_or_forward<R>(
req: &'r Request<'_>,
data: Data<'r>,
responder: R
) -> Outcome<'r> where
R: Responder<'r, 'o>,
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!")
}
sourcepub fn failure(code: Status) -> Outcome<'r>
pub fn failure(code: Status) -> Outcome<'r>
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)
}
sourcepub fn forward(data: Data<'r>) -> Outcome<'r>
pub fn forward(data: Data<'r>) -> Outcome<'r>
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)
}