mirror of
https://github.com/YGGverse/nexy.git
synced 2026-03-31 17:25:27 +00:00
dump resolved path info
This commit is contained in:
parent
32291dd630
commit
819a522268
3 changed files with 10 additions and 7 deletions
|
|
@ -1,20 +1,21 @@
|
||||||
/// Internal server response types
|
/// Internal server response types
|
||||||
pub enum Response<'a> {
|
pub enum Response<'a> {
|
||||||
AccessDenied {
|
AccessDenied {
|
||||||
|
path: std::path::PathBuf,
|
||||||
query: &'a str,
|
query: &'a str,
|
||||||
},
|
},
|
||||||
InternalServerError {
|
InternalServerError {
|
||||||
query: Option<&'a str>,
|
|
||||||
error: String,
|
error: String,
|
||||||
|
query: Option<&'a str>,
|
||||||
},
|
},
|
||||||
NotFound {
|
NotFound {
|
||||||
query: &'a str,
|
|
||||||
error: String,
|
error: String,
|
||||||
|
query: &'a str,
|
||||||
},
|
},
|
||||||
File(&'a [u8]),
|
File(&'a [u8]),
|
||||||
Directory {
|
Directory {
|
||||||
query: &'a str,
|
|
||||||
data: String,
|
data: String,
|
||||||
is_root: bool,
|
is_root: bool,
|
||||||
|
query: &'a str,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -141,10 +141,12 @@ impl Connection {
|
||||||
);
|
);
|
||||||
self.session.template.internal_server_error()
|
self.session.template.internal_server_error()
|
||||||
}
|
}
|
||||||
Response::AccessDenied { query } => {
|
Response::AccessDenied { query, path } => {
|
||||||
eprintln!(
|
eprintln!(
|
||||||
"[{}] < [{}] access to `{query}` denied.",
|
"[{}] < [{}] access to `{query}` denied (resolved path: `{}`).",
|
||||||
self.address.server, self.address.client
|
self.address.server,
|
||||||
|
self.address.client,
|
||||||
|
path.to_string_lossy()
|
||||||
);
|
);
|
||||||
self.session.template.access_denied()
|
self.session.template.access_denied()
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -50,7 +50,7 @@ impl Public {
|
||||||
match p.canonicalize() {
|
match p.canonicalize() {
|
||||||
Ok(c) => {
|
Ok(c) => {
|
||||||
if !c.starts_with(&self.public_dir) {
|
if !c.starts_with(&self.public_dir) {
|
||||||
return callback(Response::AccessDenied { query });
|
return callback(Response::AccessDenied { query, path: c });
|
||||||
}
|
}
|
||||||
c
|
c
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue