use std::path::Path; use actix_web::{web, HttpResponse}; use include_dir::{include_dir, Dir}; /// Assets directory static ASSETS_DIR: Dir = include_dir!("$CARGO_MANIFEST_DIR/assets"); pub async fn assets_route(path: web::Path) -> HttpResponse { let path: &Path = path.as_ref().as_ref(); match ASSETS_DIR.get_file(path) { None => HttpResponse::NotFound().body("404 Not found"), Some(file) => { let res = mime_guess::from_path(path).first_or_octet_stream(); HttpResponse::Ok() .content_type(res.to_string()) .body(file.contents()) } } }