rouille::find_route! [] [src]

macro_rules! find_route {
    ($($handler:expr),+) => { ... };
}

Evaluates each parameter until one of them evaluates to something else than Err(RouteError::NoRouteFound).

This macro supposes that each route returns a Result<_, RouteError>.

Example

use rouille::{Request, Response, RouteError};

fn handle_request_a(_: &Request) -> Result<Response, RouteError> {
   // ...
}

fn handle_request_b(_: &Request) -> Result<Response, RouteError> {
   // ...
}

fn handle_request_c(_: &Request) -> Result<Response, RouteError> {
   // ...
}

let response = find_route!(
    handle_request_a(request),
    handle_request_b(request),
    handle_request_c(request)
);