1use vegemite::{RequestState, Resolve, ResolveGuard, Post, Route, sys, run, Get};
2
3struct Body(String);
4
5impl Resolve for Body {
6 fn resolve(ctx: &mut RequestState) -> ResolveGuard<Self> {
7 ResolveGuard::Value(Body(
8 String::from_utf8(ctx.request.body_mut().get().clone()).unwrap(),
9 ))
10 }
11}
12
13fn post(_post: Post, body: Body) -> u16{
14 println!("Received body {}", body.0);
15
16 200
17}
18
19fn get(_g: Get) -> u16 {
20 200
21}
22
23fn main() {
24 let route = Route::new(sys![post, get]);
25
26 run("127.0.0.1:8080", route);
27}