rkt 0.6.0

Web framework with a focus on usability, security, extensibility, and speed. (Community Fork)
Documentation
#![cfg(feature = "json")]

#[macro_use]
extern crate rkt;

use rkt::serde::json::Json;

#[get("/int")]
fn int() -> Json<i32> {
    Json(5)
}
#[get("/nil")]
fn nil() -> Json<()> {
    Json(())
}

#[async_test]
async fn async_json_works() {
    use rkt::local::asynchronous::Client;

    let client = Client::debug_with(routes![int, nil]).await.unwrap();

    let int0 = client.get("/int").dispatch().await.into_json::<u32>().await;
    let int1 = client.get("/int").dispatch().await.into_json::<i32>().await;

    assert_eq!(int0, Some(5));
    assert_eq!(int1, Some(5));

    let nil0 = client.get("/nil").dispatch().await.into_json::<()>().await;
    assert_eq!(nil0, Some(()));
}