other.rs 1002 B

12345678910111213141516171819202122232425262728293031323334353637
  1. use actix_web::{get, HttpResponse, Responder, web, Error};
  2. use actix_files::NamedFile;
  3. use crate::HTML;
  4. use std::path::PathBuf;
  5. pub fn config(cfg: &mut web::ServiceConfig) {
  6. cfg.service(landing_page);
  7. cfg.service(landing_page_dev);
  8. cfg.service(svg_logo);
  9. cfg.service(png_logo);
  10. }
  11. #[get("/")]
  12. async fn landing_page() -> impl Responder {
  13. let html = HTML.get().expect("No HTML");
  14. HttpResponse::Ok()
  15. .content_type("text/html; charset=utf-8")
  16. .body(html.clone())
  17. }
  18. #[get("/logo.svg")]
  19. async fn svg_logo() -> Result<NamedFile, Error> {
  20. let path: PathBuf = PathBuf::from("src/views/logo.svg");
  21. Ok(NamedFile::open(path)?)
  22. }
  23. #[get("/logo.png")]
  24. async fn png_logo() -> Result<NamedFile, Error> {
  25. let path: PathBuf = PathBuf::from("src/views/logo.png");
  26. Ok(NamedFile::open(path)?)
  27. }
  28. #[get("/dev")]
  29. async fn landing_page_dev() -> Result<NamedFile, Error> {
  30. let path: PathBuf = PathBuf::from("src/views/build.html");
  31. Ok(NamedFile::open(path)?)
  32. }