2017-12-06 15:29:10 +01:00
|
|
|
#![feature(plugin)]
|
|
|
|
#![plugin(rocket_codegen)]
|
|
|
|
|
2017-12-17 13:19:27 +01:00
|
|
|
extern crate comrak;
|
|
|
|
extern crate glob;
|
|
|
|
extern crate inflector;
|
2017-12-06 15:29:10 +01:00
|
|
|
extern crate rocket;
|
2017-12-06 16:47:55 +01:00
|
|
|
extern crate rocket_contrib;
|
2017-12-23 22:20:57 +01:00
|
|
|
#[macro_use] extern crate serde_derive;
|
|
|
|
extern crate serde_json;
|
2017-12-06 15:29:10 +01:00
|
|
|
|
2017-12-23 22:20:57 +01:00
|
|
|
mod list;
|
2017-12-30 22:06:48 +01:00
|
|
|
mod handlers;
|
2017-12-06 15:38:07 +01:00
|
|
|
|
2017-12-30 22:06:48 +01:00
|
|
|
use rocket::Rocket;
|
2017-12-27 17:33:28 +01:00
|
|
|
use std::sync::RwLock;
|
|
|
|
|
2017-12-06 15:38:07 +01:00
|
|
|
fn rocket() -> Rocket {
|
2017-12-17 13:19:27 +01:00
|
|
|
let lists = list::List::load_all();
|
2017-12-06 15:29:10 +01:00
|
|
|
rocket::ignite()
|
2017-12-27 17:33:28 +01:00
|
|
|
.manage(RwLock::new(lists))
|
2017-12-30 22:06:48 +01:00
|
|
|
.mount("/", routes![handlers::home::index,
|
|
|
|
handlers::static_files::all])
|
|
|
|
.mount("/lists", routes![handlers::list::index,
|
|
|
|
handlers::list::show_html, handlers::list::show_json,
|
|
|
|
handlers::list::update])
|
|
|
|
.attach(rocket_contrib::Template::fairing())
|
2017-12-06 15:38:07 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
fn main() {
|
|
|
|
rocket().launch();
|
2017-12-06 15:29:10 +01:00
|
|
|
}
|