// CSRF protection // https://github.com/heartsucker/iron-csrf #[macro_use] extern crate log; extern crate systemhttp; extern crate env_logger; #[macro_use] extern crate clap; extern crate sqlite; fn main() { let matches = clap_app!( systemhttpd => (version: "0.1") (author: "Kjetil Ørbekk") (about: "A systemd web frontend") (@arg PORT: -p --port +takes_value "Port to serve on") (@arg DB_FILE: --db_file +required +takes_value "Path to sqlite database")) .get_matches(); let port = matches.value_of("PORT").unwrap_or("8080") .parse::().expect("port number"); let db_file = matches.value_of("DB_FILE").unwrap(); env_logger::init().unwrap(); let mut conn = sqlite::Connection::open(db_file) .expect(format!("opening sqlite database at {}", db_file).as_str()); systemhttp::db::init(&mut conn); let _server = systemhttp::server::serve(port).unwrap(); println!("Serving on {}", port); }