summaryrefslogtreecommitdiff
path: root/src/main.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.rs')
-rw-r--r--src/main.rs28
1 files changed, 22 insertions, 6 deletions
diff --git a/src/main.rs b/src/main.rs
index a56c7fd..2b4826f 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -5,6 +5,10 @@ extern crate indoc;
extern crate clap;
extern crate colored;
+extern crate tokio;
+extern crate hyper;
+extern crate futures;
+
use colored::*;
use clap::{Arg, App};
use std::path::Path;
@@ -12,9 +16,15 @@ use std::process;
use std::thread;
use std::sync::mpsc;
+use hyper::Server;
+use hyper::service::service_fn;
+use tokio::runtime::Runtime;
+use futures::Future;
+
mod cli;
mod upnp;
mod serve;
+mod notify;
fn main() {
let app = App::new(env!("CARGO_PKG_NAME"))
@@ -48,14 +58,20 @@ fn main() {
process::exit(1);
}
+ let addr = "0.0.0.0:51497".parse().unwrap();
- let _http = thread::spawn(move || {
- serve::run();
- });
+ let server = Server::bind(&addr)
+ .serve(|| service_fn(serve::response_examples))
+ .map_err(|e| eprintln!("server error: {}", e));
- let _udp = thread::spawn(move || {
- upnp::discover();
- });
+ println!("Listening on http://{}", addr);
+
+ let mut rt = Runtime::new().unwrap();
+ rt.spawn(server);
+
+ // let _udp = thread::spawn(move || {
+ // upnp::discover();
+ // });
let (tx, rx) = mpsc::channel();
let child = thread::spawn(move || {