use actix_web::{HttpRequest, HttpResponse, Responder, get};
const TACHYONS: &str = include_str!("../assets/tachyons.css");
const FIXI: &str = include_str!("../assets/fixi.js");
const PAXI: &str = include_str!("../assets/paxi.js");
const SSEXI: &str = include_str!("../assets/ssexi.js");
const MOXI: &str = include_str!("../assets/moxi.js");
const QUILL_JS: &str = include_str!("../assets/quill.js");
const QUILL_CSS: &str = include_str!("../assets/quill.snow.css");
const CACHE_CONTROL_VALUE: &str = "public, max-age=31536000, immutable";
#[get("/assets/{filename:.*}")]
pub async fn assets(req: HttpRequest) -> impl Responder {
let path = req.match_info().query("filename");
match path {
"tachyons.css" => HttpResponse::Ok()
.content_type("text/css; charset=utf-8")
.insert_header(("Cache-Control", CACHE_CONTROL_VALUE))
.body(TACHYONS),
"fixi.js" => HttpResponse::Ok()
.content_type("application/javascript; charset=utf-8")
.insert_header(("Cache-Control", CACHE_CONTROL_VALUE))
.body(FIXI),
"paxi.js" => HttpResponse::Ok()
.content_type("application/javascript; charset=utf-8")
.insert_header(("Cache-Control", CACHE_CONTROL_VALUE))
.body(PAXI),
"ssexi.js" => HttpResponse::Ok()
.content_type("application/javascript; charset=utf-8")
.insert_header(("Cache-Control", CACHE_CONTROL_VALUE))
.body(SSEXI),
"moxi.js" => HttpResponse::Ok()
.content_type("application/javascript; charset=utf-8")
.insert_header(("Cache-Control", CACHE_CONTROL_VALUE))
.body(MOXI),
"quill.js" => HttpResponse::Ok()
.content_type("application/javascript; charset=utf-8")
.insert_header(("Cache-Control", CACHE_CONTROL_VALUE))
.body(QUILL_JS),
"quill.snow.css" => HttpResponse::Ok()
.content_type("text/css; charset=utf-8")
.insert_header(("Cache-Control", CACHE_CONTROL_VALUE))
.body(QUILL_CSS),
_ => HttpResponse::NotFound().body("Not found"),
}
}