dump resolved path info

This commit is contained in:
yggverse 2025-07-04 11:30:08 +03:00
parent 32291dd630
commit 819a522268
3 changed files with 10 additions and 7 deletions

View file

@ -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,
},
}

View file

@ -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()
}

View file

@ -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
}