Macro rouille::find_route
source · macro_rules! find_route { ($($handler:expr),+) => { ... }; }
Expand description
Evaluates each parameter until one of them evaluates to something else than a 404 error code.
This macro supposes that each route returns a Response
.
Example
use rouille::{Request, Response};
fn handle_request_a(_: &Request) -> Response {
// ...
}
fn handle_request_b(_: &Request) -> Response {
// ...
}
fn handle_request_c(_: &Request) -> Response {
// ...
}
// First calls `handle_request_a`. If it returns anything else than a 404 error, then the
// `response` will contain the return value.
//
// Instead if `handle_request_a` returned a 404 error, then `handle_request_b` is tried.
// If `handle_request_b` also returns a 404 error, then `handle_request_c` is tried.
let response = find_route!(
handle_request_a(request),
handle_request_b(request),
handle_request_c(request)
);