Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #![feature(plugin, custom_derive)]
- #![feature(proc_macro_hygiene, decl_macro)]
- extern crate bloglib;
- #[macro_use] extern crate rocket;
- extern crate rocket_contrib;
- extern crate rsass;
- use bloglib::*;
- use bloglib::{auth, posts};
- use rocket::{Catcher, Request};
- use rocket_contrib::templates::Template;
- use rocket::response::{Redirect, Responder, Result};
- use rsass::{OutputStyle, compile_scss_file};
- #[catch(400)]
- fn redirect_login<'r>(req: &'r Request) -> Result<'r> {
- Redirect::to("/auth/login").respond_to(req)
- }
- #[catch(401)]
- fn redirect_root<'r>(req: &'r Request) -> Result<'r> {
- Redirect::to("/").respond_to(req)
- }
- #[catch(500)]
- fn handle_500<'r>(req: &'r Request) -> Result<'r> {
- "Whoops, we messed up!".respond_to(req)
- }
- fn main() {
- let login = Catcher::new(600, redirect_login);
- let root = Catcher::new(601, redirect_root);
- let ise = Catcher::new(500, handle_500);
- // Build that SCSS
- let cssfile = "assets/stylesheets/base.scss".as_ref();
- let css = compile_scss_file(cssfile, OutputStyle::Compressed).unwrap();
- println!("format {:?} arguments", css);
- rocket::ignite()
- .manage(create_db_pool())
- .mount("/", posts::routes())
- .mount("/auth", auth::routes())
- .attach(Template::fairing())
- .register(catchers![login, root, ise])
- .launch();
- }
Add Comment
Please, Sign In to add comment