diff options
author | Ali MJ Al-Nasrawy <alimjalnasrawy@gmail.com> | 2021-05-20 12:56:10 +0000 |
---|---|---|
committer | Ali MJ Al-Nasrawy <alimjalnasrawy@gmail.com> | 2021-08-31 12:45:52 +0000 |
commit | 31cab65f9592998857a801e1067e906ca2e58f14 (patch) | |
tree | b03bebba0247d83f16ad15f9d71e0147cab242f0 | |
parent | (cargo-release) start next development iteration 0.16.1-alpha.0 (diff) | |
download | miniserve-31cab65f9592998857a801e1067e906ca2e58f14.tar.gz miniserve-31cab65f9592998857a801e1067e906ca2e58f14.zip |
extract_query_parameters(): avoid clone and simplify
Signe-off-by: Ali MJ Al-Nasrawy <alimjalnasrawy@gmail.com>
-rw-r--r-- | src/listing.rs | 18 |
1 files changed, 3 insertions, 15 deletions
diff --git a/src/listing.rs b/src/listing.rs index b2730de..ef4c8c8 100644 --- a/src/listing.rs +++ b/src/listing.rs @@ -27,7 +27,7 @@ mod percent_encode_sets { } /// Query parameters -#[derive(Deserialize)] +#[derive(Deserialize, Default)] pub struct QueryParameters { pub path: Option<PathBuf>, pub sort: Option<SortingMethod>, @@ -383,23 +383,11 @@ pub fn directory_listing( pub fn extract_query_parameters(req: &HttpRequest) -> QueryParameters { match Query::<QueryParameters>::from_query(req.query_string()) { - Ok(query) => QueryParameters { - sort: query.sort, - order: query.order, - download: query.download, - qrcode: query.qrcode.to_owned(), - path: query.path.clone(), - }, + Ok(Query(query_params)) => query_params, Err(e) => { let err = ContextualError::ParseError("query parameters".to_string(), e.to_string()); errors::log_error_chain(err.to_string()); - QueryParameters { - sort: None, - order: None, - download: None, - qrcode: None, - path: None, - } + QueryParameters::default() } } } |