use crate::website::WebSite; use actix_web::{get, web, HttpResponse, Responder}; use std::path::PathBuf; #[get("/{pth:.*}")] pub async fn page( website: web::Data<std::sync::Mutex<WebSite>>, pth: web::Path<PathBuf>, ) -> impl Responder { let website = website.lock().unwrap(); let pth = pth.into_inner(); match website.get_page_by_url(&pth) { Some(page) => HttpResponse::Ok().body(page.html.to_string()), None => HttpResponse::NotFound().body(format!("Not found {}", pth.display())), } }