diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/file_upload.rs | 8 | ||||
-rw-r--r-- | src/main.rs | 12 |
2 files changed, 12 insertions, 8 deletions
diff --git a/src/file_upload.rs b/src/file_upload.rs index 3ef3a7e..fe65f24 100644 --- a/src/file_upload.rs +++ b/src/file_upload.rs @@ -120,6 +120,7 @@ fn handle_multipart( pub fn upload_file( req: &HttpRequest<crate::MiniserveConfig>, default_color_scheme: ColorScheme, + uses_random_route: bool ) -> FutureResponse<HttpResponse> { let return_path = if let Some(header) = req.headers().get(header::REFERER) { header.to_str().unwrap_or("/").to_owned() @@ -146,6 +147,7 @@ pub fn upload_file( query_params.order, color_scheme, default_color_scheme, + uses_random_route )); } }; @@ -165,6 +167,7 @@ pub fn upload_file( query_params.order, color_scheme, default_color_scheme, + uses_random_route )); } }; @@ -184,6 +187,7 @@ pub fn upload_file( query_params.order, color_scheme, default_color_scheme, + uses_random_route )); } }; @@ -208,6 +212,7 @@ pub fn upload_file( query_params.order, color_scheme, default_color_scheme, + uses_random_route ), }), ) @@ -222,6 +227,7 @@ fn create_error_response( sorting_order: Option<SortingOrder>, color_scheme: ColorScheme, default_color_scheme: ColorScheme, + uses_random_route: bool ) -> FutureResult<HttpResponse, actix_web::error::Error> { errors::log_error_chain(description.to_string()); future::ok( @@ -237,7 +243,7 @@ fn create_error_response( color_scheme, default_color_scheme, true, - true, + !uses_random_route, ) .into_string(), ), diff --git a/src/main.rs b/src/main.rs index dc98df0..b020333 100644 --- a/src/main.rs +++ b/src/main.rs @@ -257,6 +257,7 @@ fn configure_app(app: App<MiniserveConfig>) -> App<MiniserveConfig> { }; let random_route = app.state().random_route.clone().unwrap_or_default(); + let uses_random_route = app.state().random_route.clone().is_some(); let full_route = format!("/{}", random_route); if let Some(s) = s { @@ -265,7 +266,7 @@ fn configure_app(app: App<MiniserveConfig>) -> App<MiniserveConfig> { // Allow file upload app.resource(&upload_route, move |r| { r.method(Method::POST) - .f(move |file| file_upload::upload_file(file, default_color_scheme)) + .f(move |file| file_upload::upload_file(file, default_color_scheme, uses_random_route)) }) // Handle directories .handler(&full_route, s) @@ -285,11 +286,8 @@ fn configure_app(app: App<MiniserveConfig>) -> App<MiniserveConfig> { fn error_404(req: &HttpRequest<crate::MiniserveConfig>) -> Result<HttpResponse, io::Error> { let err_404 = ContextualError::RouteNotFoundError(req.path().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 => "/".to_string(), - }; - + let uses_random_route = req.state().random_route.is_some(); + let return_address = "/".to_string(); let query_params = listing::extract_query_parameters(req); let color_scheme = query_params.theme.unwrap_or(default_color_scheme); @@ -305,7 +303,7 @@ fn error_404(req: &HttpRequest<crate::MiniserveConfig>) -> Result<HttpResponse, color_scheme, default_color_scheme, false, - true, + !uses_random_route, ) .into_string(), )) |