From 96e6cbb5be3738e44f31ecbd973f31977f1517b7 Mon Sep 17 00:00:00 2001 From: shockrahwow Date: Wed, 27 Nov 2019 20:05:39 -0800 Subject: [PATCH] passing tests for basic pages and css routes --- server/src/main.rs | 5 +++-- server/src/website.rs | 9 ++++++++- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/server/src/main.rs b/server/src/main.rs index 96c1179..3d6c31d 100644 --- a/server/src/main.rs +++ b/server/src/main.rs @@ -33,10 +33,11 @@ struct PageAttrs { fn rocket() -> rocket::Rocket { rocket::ignite() + .mount("/static", StaticFiles::from("/static")) .mount("/", routes![ homepage, login_page, server_info, + static_css, ]) - .mount("/static/css", StaticFiles::from(concat!(env!("CARGO_MANIFEST_DIR"), "/static/css"))) .attach(Template::fairing()) } @@ -62,7 +63,7 @@ mod test { #[test] fn static_css() { let client = Client::new(rocket()).expect("Valid rocket instance"); - let response = client.get("/css/index.css").dispatch(); + let response = client.get("/static/css/index.css").dispatch(); assert_eq!(response.status(), Status::Ok); } } diff --git a/server/src/website.rs b/server/src/website.rs index 97f26e0..bfb512c 100644 --- a/server/src/website.rs +++ b/server/src/website.rs @@ -2,7 +2,7 @@ // All new servers come with this as a default so that use rocket_contrib::templates::Template; use rocket::response::NamedFile; -use std::io; +use std::path::Path; // Purely for backend purposes #[derive(Serialize)] @@ -57,3 +57,10 @@ pub fn server_info() -> Template { Template::render("servers", &ctx) } +#[get("/static/css/")] +pub fn static_css(file: String) -> Option { + let mut f = file; + f = f.replace("..", ""); + f = f.replace("%2e", ""); + NamedFile::open(Path::new("static/css/").join(f)).ok() +}