larp 0.0.1

A helper for warp. Provide some macros to make warp easier.
Documentation
#[macro_use]
extern crate warp;

#[macro_use]
extern crate larp;

#[macro_use]
extern crate serde_derive;

extern crate serde;

use warp::Filter;
use larp::Route;
use warp::Reply;

#[derive(Debug, Serialize, Deserialize)]
struct Post {
  pub title: String,
  pub typo: u8,
}

fn get() -> Route<impl Reply> {
  let world = get!()
    .map(|| "hello, world");

  let name = get!(String)
    .map(|name| format!("hello, {}", name));


  route!("hello", world, name)
}

fn post() -> Route<impl Reply> {
  let world = post!()
    .map(|p: Post| format!("{:?}", p));

  route!("post", world)
}

fn put() -> Route<impl Reply> {
  let world = put!()
    .map(|p: Post| warp::reply::json(&p));

  route!("put", world)
}

fn delete() -> Route<impl Reply> {
  let world = del!()
    .map(|| "hello, delete");

  route!("delete", world)
}

fn main() {
  let route = route!(/, get(), post(), put(), delete());

  warp::serve(route)
    .run(([127, 0, 0, 1], 3000))
}