extern crate futures; extern crate hyper; extern crate trek_router; use futures::Future; use hyper::server::Server; use hyper::service::service_fn_ok; use hyper::{Body, Request, Response, StatusCode}; use std::sync::Arc; use trek_router::Router; type Params<'a> = Vec<(&'a str, &'a str)>; type Handler = fn(Request
, Params) -> Body; fn v1_login(_: Request, _: Params) -> Body { Body::from("v1 login") } fn v1_submit(_req: Request, _: Params) -> Body { Body::from("v1 submit") } fn v1_read(_req: Request, _: Params) -> Body { Body::from("v1 read") } fn v2_login(_: Request, _: Params) -> Body { Body::from("v2 login") } fn v2_submit(_req: Request, _: Params) -> Body { Body::from("v2 submit") } fn v2_read(_req: Request, _: Params) -> Body { Body::from("v2 read") } fn users(_req: Request, _: Params) -> Body { Body::from("users") } fn foo(_: Request, _: Params) -> Body { Body::from("foo") } fn bar(_req: Request, _: Params) -> Body { Body::from("bar") } fn baz(_req: Request, _: Params) -> Body { Body::from("baz") } fn main() { let addr = ([127, 0, 0, 1], 3000).into(); let mut router = Router::