Guest User

Untitled

a guest
Nov 18th, 2018
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.31 KB | None | 0 0
  1. #![feature(plugin, custom_derive)]
  2. #![feature(proc_macro_hygiene, decl_macro)]
  3.  
  4. extern crate bloglib;
  5. #[macro_use] extern crate rocket;
  6. extern crate rocket_contrib;
  7. extern crate rsass;
  8.  
  9. use bloglib::*;
  10. use bloglib::{auth, posts};
  11.  
  12. use rocket::{Catcher, Request};
  13. use rocket_contrib::templates::Template;
  14. use rocket::response::{Redirect, Responder, Result};
  15.  
  16. use rsass::{OutputStyle, compile_scss_file};
  17.  
  18. #[catch(400)]
  19. fn redirect_login<'r>(req: &'r Request) -> Result<'r> {
  20. Redirect::to("/auth/login").respond_to(req)
  21. }
  22.  
  23. #[catch(401)]
  24. fn redirect_root<'r>(req: &'r Request) -> Result<'r> {
  25. Redirect::to("/").respond_to(req)
  26. }
  27.  
  28. #[catch(500)]
  29. fn handle_500<'r>(req: &'r Request) -> Result<'r> {
  30. "Whoops, we messed up!".respond_to(req)
  31. }
  32.  
  33. fn main() {
  34. let login = Catcher::new(600, redirect_login);
  35. let root = Catcher::new(601, redirect_root);
  36. let ise = Catcher::new(500, handle_500);
  37.  
  38. // Build that SCSS
  39. let cssfile = "assets/stylesheets/base.scss".as_ref();
  40. let css = compile_scss_file(cssfile, OutputStyle::Compressed).unwrap();
  41. println!("format {:?} arguments", css);
  42.  
  43. rocket::ignite()
  44. .manage(create_db_pool())
  45. .mount("/", posts::routes())
  46. .mount("/auth", auth::routes())
  47. .attach(Template::fairing())
  48. .register(catchers![login, root, ise])
  49. .launch();
  50. }
Add Comment
Please, Sign In to add comment