aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/file_upload.rs8
-rw-r--r--src/main.rs12
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(),
))