From 9980d20c21d771681f505cedbdc6c938dad4b49c Mon Sep 17 00:00:00 2001 From: yggverse Date: Thu, 3 Jul 2025 22:34:09 +0300 Subject: [PATCH] handle not found error --- src/response.rs | 1 + src/server/connection.rs | 4 ++-- src/session/public.rs | 7 ++++++- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/response.rs b/src/response.rs index 4622d49..93e3c80 100644 --- a/src/response.rs +++ b/src/response.rs @@ -9,6 +9,7 @@ pub enum Response<'a> { }, NotFound { query: &'a str, + error: String, }, File(&'a [u8]), Directory { diff --git a/src/server/connection.rs b/src/server/connection.rs index 4f2b625..5ee211b 100644 --- a/src/server/connection.rs +++ b/src/server/connection.rs @@ -148,9 +148,9 @@ impl Connection { ); self.session.template.access_denied() } - Response::NotFound { query } => { + Response::NotFound { query, error } => { eprintln!( - "[{}] < [{}] requested resource `{query}` not found.", + "[{}] < [{}] requested resource `{query}` not found: {error}.", self.address.server, self.address.client ); self.session.template.not_found() diff --git a/src/session/public.rs b/src/session/public.rs index 3351eb0..3f7981c 100644 --- a/src/session/public.rs +++ b/src/session/public.rs @@ -54,7 +54,12 @@ impl Public { } c } - Err(_) => return callback(Response::NotFound { query }), + Err(e) => { + return callback(Response::NotFound { + query, + error: e.to_string(), + }); + } } }; match fs::metadata(&p) {