diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/args.rs | 2 | ||||
-rw-r--r-- | src/auth.rs | 2 | ||||
-rw-r--r-- | src/file_upload.rs | 22 | ||||
-rw-r--r-- | src/listing.rs | 50 | ||||
-rw-r--r-- | src/main.rs | 12 |
5 files changed, 44 insertions, 44 deletions
diff --git a/src/args.rs b/src/args.rs index 5671425..6a9bf83 100644 --- a/src/args.rs +++ b/src/args.rs @@ -161,7 +161,7 @@ pub fn parse_args() -> crate::MiniserveConfig { } } -#[cfg_attr(rustfmt, rustfmt_skip)] +#[rustfmt::skip] #[cfg(test)] mod tests { use super::*; diff --git a/src/auth.rs b/src/auth.rs index c3cbd54..f2e5fcf 100644 --- a/src/auth.rs +++ b/src/auth.rs @@ -168,7 +168,7 @@ fn build_unauthorized_response( .into_string() } -#[cfg_attr(rustfmt, rustfmt_skip)] +#[rustfmt::skip] #[cfg(test)] mod tests { use super::*; diff --git a/src/file_upload.rs b/src/file_upload.rs index 36b2401..537c90c 100644 --- a/src/file_upload.rs +++ b/src/file_upload.rs @@ -127,9 +127,9 @@ pub fn upload_file( "/".to_string() }; - let (sort_method, sort_order, _, color_scheme, path) = listing::extract_query_parameters(req); - let color_scheme = color_scheme.unwrap_or(default_color_scheme); - let upload_path = match path { + let query_params = listing::extract_query_parameters(req); + let color_scheme = query_params.theme.unwrap_or(default_color_scheme); + let upload_path = match query_params.path.clone() { Some(path) => match path.strip_prefix(Component::RootDir) { Ok(stripped_path) => stripped_path.to_owned(), Err(_) => path.clone(), @@ -142,8 +142,8 @@ pub fn upload_file( &err.to_string(), StatusCode::BAD_REQUEST, &return_path, - sort_method, - sort_order, + query_params.sort, + query_params.order, color_scheme, default_color_scheme, )); @@ -161,8 +161,8 @@ pub fn upload_file( &err.to_string(), StatusCode::INTERNAL_SERVER_ERROR, &return_path, - sort_method, - sort_order, + query_params.sort, + query_params.order, color_scheme, default_color_scheme, )); @@ -180,8 +180,8 @@ pub fn upload_file( &err.to_string(), StatusCode::BAD_REQUEST, &return_path, - sort_method, - sort_order, + query_params.sort, + query_params.order, color_scheme, default_color_scheme, )); @@ -204,8 +204,8 @@ pub fn upload_file( &e.to_string(), StatusCode::INTERNAL_SERVER_ERROR, &return_path, - sort_method, - sort_order, + query_params.sort, + query_params.order, color_scheme, default_color_scheme, ), diff --git a/src/listing.rs b/src/listing.rs index b3c21ae..49802bc 100644 --- a/src/listing.rs +++ b/src/listing.rs @@ -145,7 +145,7 @@ pub fn directory_listing<S>( Err(_) => base.to_path_buf(), }; - let (sort_method, sort_order, download, color_scheme, _) = extract_query_parameters(req); + let query_params = extract_query_parameters(req); let mut entries: Vec<Entry> = Vec::new(); @@ -203,7 +203,7 @@ pub fn directory_listing<S>( } } - if let Some(sorting_method) = sort_method { + if let Some(sorting_method) = query_params.sort { match sorting_method { SortingMethod::Name => entries .sort_by(|e1, e2| alphanumeric_sort::compare_str(e1.name.clone(), e2.name.clone())), @@ -227,15 +227,15 @@ pub fn directory_listing<S>( entries.sort_by(|e1, e2| alphanumeric_sort::compare_str(e1.name.clone(), e2.name.clone())) } - if let Some(sorting_order) = sort_order { + if let Some(sorting_order) = query_params.order { if let SortingOrder::Descending = sorting_order { entries.reverse() } } - let color_scheme = color_scheme.unwrap_or_else(|| default_color_scheme); + let color_scheme = query_params.theme.unwrap_or(default_color_scheme); - if let Some(compression_method) = &download { + if let Some(compression_method) = &query_params.download { log::info!( "Creating an archive ({extension}) of {path}...", extension = compression_method.extension(), @@ -264,8 +264,8 @@ pub fn directory_listing<S>( &err.to_string(), StatusCode::INTERNAL_SERVER_ERROR, serve_path, - sort_method, - sort_order, + query_params.sort, + query_params.order, color_scheme, default_color_scheme, false, @@ -284,8 +284,8 @@ pub fn directory_listing<S>( entries, is_root, page_parent, - sort_method, - sort_order, + query_params.sort, + query_params.order, default_color_scheme, color_scheme, file_upload, @@ -297,27 +297,25 @@ pub fn directory_listing<S>( } } -pub fn extract_query_parameters<S>( - req: &HttpRequest<S>, -) -> ( - Option<SortingMethod>, - Option<SortingOrder>, - Option<CompressionMethod>, - Option<ColorScheme>, - Option<PathBuf>, -) { +pub fn extract_query_parameters<S>(req: &HttpRequest<S>) -> QueryParameters { match Query::<QueryParameters>::extract(req) { - Ok(query) => ( - query.sort, - query.order, - query.download.clone(), - query.theme, - query.path.clone(), - ), + Ok(query) => QueryParameters { + sort: query.sort, + order: query.order, + download: query.download.clone(), + theme: query.theme, + path: query.path.clone(), + }, Err(e) => { let err = ContextualError::ParseError("query parameters".to_string(), e.to_string()); errors::log_error_chain(err.to_string()); - (None, None, None, None, None) + QueryParameters { + sort: None, + order: None, + download: None, + theme: None, + path: None, + } } } } diff --git a/src/main.rs b/src/main.rs index 07827c0..bcfda09 100644 --- a/src/main.rs +++ b/src/main.rs @@ -83,7 +83,9 @@ fn run() -> Result<(), ContextualError> { && miniserve_config .path .symlink_metadata() - .map_err(|e| ContextualError::IOError("Failed to retrieve symlink's metadata".to_string(), e))? + .map_err(|e| { + ContextualError::IOError("Failed to retrieve symlink's metadata".to_string(), e) + })? .file_type() .is_symlink() { @@ -285,8 +287,8 @@ fn error_404(req: &HttpRequest<crate::MiniserveConfig>) -> Result<HttpResponse, None => "/".to_string(), }; - let (sort_method, sort_order, _, color_scheme, _) = listing::extract_query_parameters(req); - let color_scheme = color_scheme.unwrap_or(default_color_scheme); + let query_params = listing::extract_query_parameters(req); + let color_scheme = query_params.theme.unwrap_or(default_color_scheme); errors::log_error_chain(err_404.to_string()); @@ -295,8 +297,8 @@ fn error_404(req: &HttpRequest<crate::MiniserveConfig>) -> Result<HttpResponse, &err_404.to_string(), StatusCode::NOT_FOUND, &return_address, - sort_method, - sort_order, + query_params.sort, + query_params.order, color_scheme, default_color_scheme, false, |