aboutsummaryrefslogtreecommitdiffstats
path: root/src/args.rs
diff options
context:
space:
mode:
authorJohannes May <johannes@may-se.de>2022-03-12 21:12:35 +0000
committerJohannes May <johannes@may-se.de>2022-03-12 21:12:35 +0000
commita9ee18dcbbf837225f05d4dd0186fc989a319c63 (patch)
treeb8202254eefb688814e409b1fd7d5f23cb5b09e2 /src/args.rs
parentMerge pull request #747 from svenstaro/dependabot/cargo/clap_complete-3.1.1 (diff)
downloadminiserve-a9ee18dcbbf837225f05d4dd0186fc989a319c63.tar.gz
miniserve-a9ee18dcbbf837225f05d4dd0186fc989a319c63.zip
Allow to set the accept input attribute to arbitrary values
Diffstat (limited to 'src/args.rs')
-rw-r--r--src/args.rs20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/args.rs b/src/args.rs
index 841db3a..7667bee 100644
--- a/src/args.rs
+++ b/src/args.rs
@@ -8,6 +8,13 @@ use crate::auth;
use crate::errors::ContextualError;
use crate::renderer;
+#[derive(clap::ArgEnum, Clone)]
+pub enum MediaType {
+ Image,
+ Audio,
+ Video,
+}
+
#[derive(Parser)]
#[clap(name = "miniserve", author, about, version)]
pub struct CliArgs {
@@ -104,6 +111,19 @@ pub struct CliArgs {
#[clap(short = 'u', long = "upload-files")]
pub file_upload: bool,
+ /// Specify uploadable media types
+ #[clap(arg_enum, short = 'm', long = "media-type", requires = "file-upload")]
+ pub media_type: Option<Vec<MediaType>>,
+
+ /// Directly specify the uploadable media type expression
+ #[clap(
+ short = 'M',
+ long = "raw-media-type",
+ requires = "file-upload",
+ conflicts_with = "media-type"
+ )]
+ pub media_type_raw: Option<String>,
+
/// Enable overriding existing files during file upload
#[clap(short = 'o', long = "overwrite-files")]
pub overwrite_files: bool,