aboutsummaryrefslogtreecommitdiffstats
path: root/src/main.rs
diff options
context:
space:
mode:
authorVojtěch Pejša <vojtechpejsa7@gmail.com>2019-03-28 17:33:07 +0000
committerVojtěch Pejša <vojtechpejsa7@gmail.com>2019-04-04 08:51:00 +0000
commit975fb16e5bde3d474bbadc99e2846b1940e6b954 (patch)
tree99022a2c30be7a84681cac0f9ab304928430a544 /src/main.rs
parentBetter error handling for file upload. (diff)
downloadminiserve-975fb16e5bde3d474bbadc99e2846b1940e6b954.tar.gz
miniserve-975fb16e5bde3d474bbadc99e2846b1940e6b954.zip
Improve how file upload handler is added to server.
Diffstat (limited to '')
-rw-r--r--src/main.rs22
1 files changed, 12 insertions, 10 deletions
diff --git a/src/main.rs b/src/main.rs
index 7ae06bd..935d619 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -181,7 +181,7 @@ fn main() {
}
/// Configures the Actix application
-fn configure_app(mut app: App<MiniserveConfig>) -> App<MiniserveConfig> {
+fn configure_app(app: App<MiniserveConfig>) -> App<MiniserveConfig> {
let upload_route;
let s = {
let path = &app.state().path;
@@ -217,16 +217,18 @@ fn configure_app(mut app: App<MiniserveConfig>) -> App<MiniserveConfig> {
let random_route = app.state().random_route.clone().unwrap_or_default();
let full_route = format!("/{}", random_route);
- // Allow file upload
- if app.state().file_upload {
- app = app.resource(&upload_route, |r| {
- r.method(Method::POST).f(file_upload::upload_file)
- });
- }
-
if let Some(s) = s {
- // Handle directories
- app.handler(&full_route, s)
+ if app.state().file_upload {
+ // Allow file upload
+ app.resource(&upload_route, |r| {
+ r.method(Method::POST).f(file_upload::upload_file)
+ })
+ // Handle directories
+ .handler(&full_route, s)
+ } else {
+ // Handle directories
+ app.handler(&full_route, s)
+ }
} else {
// Handle single files
app.resource(&full_route, |r| r.f(listing::file_handler))