aboutsummaryrefslogtreecommitdiffstats
path: root/src/main.rs
diff options
context:
space:
mode:
authorboastful-squirrel <boastful.squirrel@gmail.com>2019-08-16 18:42:37 +0000
committerboastful-squirrel <boastful.squirrel@gmail.com>2019-08-16 18:42:37 +0000
commitdd154be09e4ba14ba0e697f0995ec135c4088e75 (patch)
tree5832d021f9abd7f2f23f8fb10f59069f199f6145 /src/main.rs
parentFix HTML (diff)
downloadminiserve-dd154be09e4ba14ba0e697f0995ec135c4088e75.tar.gz
miniserve-dd154be09e4ba14ba0e697f0995ec135c4088e75.zip
Do not 'back to listing' link when random route is set
Diffstat (limited to 'src/main.rs')
-rw-r--r--src/main.rs12
1 files changed, 5 insertions, 7 deletions
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(),
))