From 819a522268cfc07c85ad6d5a4b504fb8c824f7e9 Mon Sep 17 00:00:00 2001 From: yggverse Date: Fri, 4 Jul 2025 11:30:08 +0300 Subject: [PATCH] dump resolved path info --- src/response.rs | 7 ++++--- src/server/connection.rs | 8 +++++--- src/session/public.rs | 2 +- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/src/response.rs b/src/response.rs index 93e3c80..0ac77a2 100644 --- a/src/response.rs +++ b/src/response.rs @@ -1,20 +1,21 @@ /// Internal server response types pub enum Response<'a> { AccessDenied { + path: std::path::PathBuf, query: &'a str, }, InternalServerError { - query: Option<&'a str>, error: String, + query: Option<&'a str>, }, NotFound { - query: &'a str, error: String, + query: &'a str, }, File(&'a [u8]), Directory { - query: &'a str, data: String, is_root: bool, + query: &'a str, }, } diff --git a/src/server/connection.rs b/src/server/connection.rs index 5ee211b..b53ae60 100644 --- a/src/server/connection.rs +++ b/src/server/connection.rs @@ -141,10 +141,12 @@ impl Connection { ); self.session.template.internal_server_error() } - Response::AccessDenied { query } => { + Response::AccessDenied { query, path } => { eprintln!( - "[{}] < [{}] access to `{query}` denied.", - self.address.server, self.address.client + "[{}] < [{}] access to `{query}` denied (resolved path: `{}`).", + self.address.server, + self.address.client, + path.to_string_lossy() ); self.session.template.access_denied() } diff --git a/src/session/public.rs b/src/session/public.rs index 3f7981c..5018a7c 100644 --- a/src/session/public.rs +++ b/src/session/public.rs @@ -50,7 +50,7 @@ impl Public { match p.canonicalize() { Ok(c) => { if !c.starts_with(&self.public_dir) { - return callback(Response::AccessDenied { query }); + return callback(Response::AccessDenied { query, path: c }); } c }