aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAli MJ Al-Nasrawy <alimjalnasrawy@gmail.com>2021-05-20 12:56:10 +0000
committerAli MJ Al-Nasrawy <alimjalnasrawy@gmail.com>2021-08-31 12:45:52 +0000
commit31cab65f9592998857a801e1067e906ca2e58f14 (patch)
treeb03bebba0247d83f16ad15f9d71e0147cab242f0
parent(cargo-release) start next development iteration 0.16.1-alpha.0 (diff)
downloadminiserve-31cab65f9592998857a801e1067e906ca2e58f14.tar.gz
miniserve-31cab65f9592998857a801e1067e906ca2e58f14.zip
extract_query_parameters(): avoid clone and simplify
Signe-off-by: Ali MJ Al-Nasrawy <alimjalnasrawy@gmail.com>
Diffstat (limited to '')
-rw-r--r--src/listing.rs18
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()
}
}
}