rocket-pinboard/src/handlers/static_files.rs

29 lines
656 B
Rust

use rocket::get;
use rocket::response::NamedFile;
use std::path::{Path, PathBuf};
#[get("/<path..>", rank = 5)]
pub(crate) fn all(path: PathBuf) -> Option<NamedFile> {
NamedFile::open(
Path::new(env!("CARGO_MANIFEST_DIR"))
.join("static")
.join(path),
)
.ok()
}
#[cfg(test)]
mod tests {
use rocket::http::Status;
use rocket::local::Client;
#[test]
fn all() {
let client = Client::new(crate::rocket(Some("test"))).unwrap();
// Try to get the main JavaScript file
let res = client.get("/js/pinboard.js").dispatch();
assert_eq!(res.status(), Status::Ok);
}
}