You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

main.rs 879B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. use dotenv;
  2. use tide::utils::After;
  3. use middleware::*;
  4. mod fs;
  5. mod middleware;
  6. mod post;
  7. mod routes;
  8. #[async_std::main]
  9. async fn main() -> std::io::Result<()> {
  10. dotenv::dotenv().ok();
  11. tide::log::start();
  12. let mut app = tide::new();
  13. app.with(After(errors));
  14. app.with(session());
  15. app.at("/").get(routes::index);
  16. app.at("/posts")
  17. .with(require_auth)
  18. .post(routes::create_post);
  19. app.at("/posts/:id")
  20. .get(routes::single_post)
  21. .post(routes::update_post)
  22. .delete(routes::delete_post);
  23. app.at("/posts/:id/edit")
  24. .with(require_auth)
  25. .get(routes::edit_post);
  26. app.at("/login")
  27. .with(require_guest)
  28. .get(routes::login_page)
  29. .post(routes::login);
  30. app.at("/logout").with(require_auth).post(routes::logout);
  31. app.listen("127.0.0.1:8080").await?;
  32. Ok(())
  33. }