rouille::assert_or_400 [] [src]

macro_rules! assert_or_400 {
    ($cond:expr) => { ... };
}

This macro assumes that the current function returns a Result<_, RouteError>. If the condition you pass to the macro is false, then a RouteError::WrongInput is returned.

Example

use rouille::Request;
use rouille::RouteError;

fn handle_something(request: &Request) -> Result<(), RouteError> {
    #[derive(RustcDecodable)]
    struct FormData {
        field1: u32,
        field2: String,
    }

    let data: FormData = try_or_400!(rouille::input::get_post_input(request));
    assert_or_400!(data.field1 >= 2);
    Ok(())
}