diff options
Diffstat (limited to 'src/serve.rs')
| -rw-r--r-- | src/serve.rs | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/serve.rs b/src/serve.rs index 9ff51a2..18b9642 100644 --- a/src/serve.rs +++ b/src/serve.rs @@ -6,26 +6,26 @@ extern crate tokio_io; use self::futures::{future, Future}; use self::hyper::{Body, Method, Request, Response, Server, StatusCode}; use self::hyper::service::service_fn; +use tokio::runtime::Runtime; use std::io; static NOTFOUND: &[u8] = b"Not Found"; -pub fn run() { +pub fn run(rt: &mut Runtime) { let addr = "0.0.0.0:51497".parse().unwrap(); - let server = Server::bind(&addr) - .serve(|| service_fn(response_examples)) + .serve(|| service_fn(routes)) .map_err(|e| eprintln!("server error: {}", e)); - println!("Listening on http://{}", addr); + rt.spawn(server); - hyper::rt::run(server); + println!("Listening on http://{}", addr); } type ResponseFuture = Box<Future<Item=Response<Body>, Error=io::Error> + Send>; -pub fn response_examples(req: Request<Body>) -> ResponseFuture { +fn routes(req: Request<Body>) -> ResponseFuture { match (req.method(), req.uri().path()) { (&Method::GET, "/0") => { simple_file_send("/home/yuval/Videos/0") |
