diff options
Diffstat (limited to '')
-rw-r--r-- | src/auth.rs | 7 | ||||
-rw-r--r-- | src/main.rs | 9 |
2 files changed, 14 insertions, 2 deletions
diff --git a/src/auth.rs b/src/auth.rs index 23ea668..889498e 100644 --- a/src/auth.rs +++ b/src/auth.rs @@ -142,9 +142,14 @@ fn build_unauthorized_response( if log_error_chain { errors::log_error_chain(error.to_string()); } + let return_path = match &req.state().random_route { + Some(random_route) => format!("/{}", random_route), + None => req.path().to_string(), + }; + renderer::render_error( &error.to_string(), - req.path(), + &return_path, None, None, req.state().default_color_scheme, diff --git a/src/main.rs b/src/main.rs index 4b2118c..f0c23cc 100644 --- a/src/main.rs +++ b/src/main.rs @@ -266,26 +266,33 @@ fn configure_app(app: App<MiniserveConfig>) -> App<MiniserveConfig> { }) // Handle directories .handler(&full_route, s) + .default_resource(|r| r.method(Method::GET).f(p404)) } else { // Handle directories app.handler(&full_route, s) + .default_resource(|r| r.method(Method::GET).f(p404)) } } else { // Handle single files app.resource(&full_route, |r| r.f(listing::file_handler)) + .default_resource(|r| r.method(Method::GET).f(p404)) } } fn p404(req: &HttpRequest<crate::MiniserveConfig>) -> Result<HttpResponse, io::Error> { let err_404 = ContextualError::RouteNotFoundError(req.uri().to_string()); let default_color_scheme = req.state().default_color_scheme; + let return_address = match &req.state().random_route { + Some(random_route) => format!("/{}", random_route), + None => req.path().to_string(), + }; errors::log_error_chain(err_404.to_string()); Ok(actix_web::HttpResponse::NotFound().body( renderer::render_error( &err_404.to_string(), - "/", + &return_address, None, None, default_color_scheme, |