From 14e2cc8846c844a234fb7688f84a874607dc96e9 Mon Sep 17 00:00:00 2001 From: Stanisław Zagórowski Date: Fri, 12 Jan 2024 22:52:18 +0100 Subject: add CLI tools --- src/server.rs | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'src/server.rs') diff --git a/src/server.rs b/src/server.rs index 05f7f26..16b543e 100644 --- a/src/server.rs +++ b/src/server.rs @@ -26,11 +26,11 @@ pub struct Server { #[derive(Clone)] struct State { lua: Arc>, - public_dir: PathBuf, + public_dir: Option, } impl Server { - pub async fn serve(lua: Lua, port: u16, public_dir: PathBuf) -> Result<()> { + pub async fn serve(lua: Lua, port: u16, public_dir: Option) -> Result<()> { let state = State { lua: Arc::new(Mutex::new(lua)), public_dir, @@ -140,9 +140,13 @@ impl State { let status = StatusCode::from_u16(res.0 as u16).unwrap_or(StatusCode::INTERNAL_SERVER_ERROR); - if status == StatusCode::NOT_FOUND { + if status == StatusCode::NOT_FOUND && self.public_dir.is_some() { // try to serve a static file - let path = self.public_dir.join(path.trim_start_matches('/')); + let path = self + .public_dir + .clone() + .unwrap() + .join(path.trim_start_matches('/')); if path.is_file() { return mk_file_response(path); -- cgit v1.3.1