From 31cab65f9592998857a801e1067e906ca2e58f14 Mon Sep 17 00:00:00 2001 From: Ali MJ Al-Nasrawy Date: Thu, 20 May 2021 15:56:10 +0300 Subject: extract_query_parameters(): avoid clone and simplify Signe-off-by: Ali MJ Al-Nasrawy --- src/listing.rs | 18 +++--------------- 1 file 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, pub sort: Option, @@ -383,23 +383,11 @@ pub fn directory_listing( pub fn extract_query_parameters(req: &HttpRequest) -> QueryParameters { match Query::::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() } } } -- cgit v1.2.3