2020-02-03 21:38:20 +01:00
|
|
|
use rocket::get;
|
2017-12-06 15:34:56 +01:00
|
|
|
use rocket::response::NamedFile;
|
2018-12-18 15:48:36 +01:00
|
|
|
use std::path::{Path, PathBuf};
|
2017-12-06 15:34:56 +01:00
|
|
|
|
|
|
|
#[get("/<path..>", rank = 5)]
|
2020-02-03 21:38:20 +01:00
|
|
|
pub(crate) fn all(path: PathBuf) -> Option<NamedFile> {
|
2018-12-18 15:48:36 +01:00
|
|
|
NamedFile::open(
|
|
|
|
Path::new(env!("CARGO_MANIFEST_DIR"))
|
|
|
|
.join("static")
|
|
|
|
.join(path),
|
|
|
|
)
|
|
|
|
.ok()
|
2017-12-06 15:34:56 +01:00
|
|
|
}
|
2018-01-01 21:16:55 +01:00
|
|
|
|
|
|
|
#[cfg(test)]
|
|
|
|
mod tests {
|
|
|
|
use rocket::http::Status;
|
|
|
|
use rocket::local::Client;
|
|
|
|
|
|
|
|
#[test]
|
|
|
|
fn all() {
|
2020-02-03 21:38:20 +01:00
|
|
|
let client = Client::new(crate::rocket(Some("test"))).unwrap();
|
2018-01-01 21:16:55 +01:00
|
|
|
|
|
|
|
// Try to get the main JavaScript file
|
2018-01-26 20:30:56 +01:00
|
|
|
let res = client.get("/js/pinboard.js").dispatch();
|
2018-01-01 21:16:55 +01:00
|
|
|
assert_eq!(res.status(), Status::Ok);
|
|
|
|
}
|
|
|
|
}
|