aboutsummaryrefslogtreecommitdiffstats
path: root/src/args.rs
diff options
context:
space:
mode:
authormarawan ragab <marawan31@gmail.com>2020-05-10 21:14:51 +0000
committermarawan ragab <marawan31@gmail.com>2020-05-10 21:14:51 +0000
commit848557762c1c4eed2ba16713ead97308d1841220 (patch)
tree9514661da1dbcf2169077044d995af89673a1a7c /src/args.rs
parentsmall improvment to buffer usage (diff)
downloadminiserve-848557762c1c4eed2ba16713ead97308d1841220.tar.gz
miniserve-848557762c1c4eed2ba16713ead97308d1841220.zip
make sure archiving is opt-in
Diffstat (limited to 'src/args.rs')
-rw-r--r--src/args.rs15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/args.rs b/src/args.rs
index 49fe276..1525b41 100644
--- a/src/args.rs
+++ b/src/args.rs
@@ -84,9 +84,15 @@ struct CLIArgs {
#[structopt(short = "o", long = "overwrite-files")]
overwrite_files: bool,
- /// Disable archive generation
- #[structopt(short = "r", long = "disable-archives")]
- disable_archives: bool,
+ /// Enable tar archive generation
+ #[structopt(short = "r", long = "tar-enabled")]
+ tar_enabled: bool,
+
+ /// Enable zip archive generation
+ /// Zipping large directories can result in out-of-memory exception
+ /// because zip generation is done in memory and cannot be sent on the fly
+ #[structopt(short = "z", long = "zip-enabled")]
+ zip_enabled: bool,
}
/// Checks wether an interface is valid, i.e. it can be parsed into an IP address
@@ -176,7 +182,8 @@ pub fn parse_args() -> crate::MiniserveConfig {
index: args.index,
overwrite_files: args.overwrite_files,
file_upload: args.file_upload,
- archives: !args.disable_archives,
+ tar_enabled: args.tar_enabled,
+ zip_enabled: args.zip_enabled,
}
}