diff options
author | cyqsimon <28627918+cyqsimon@users.noreply.github.com> | 2023-09-05 07:01:07 +0000 |
---|---|---|
committer | cyqsimon <28627918+cyqsimon@users.noreply.github.com> | 2023-09-05 09:06:18 +0000 |
commit | 6b5a46bbb9a101df555cbf45c56e759e2bfa6cd5 (patch) | |
tree | 9acc281a39aff789e1cfc7f874dd7c1ca9312db9 /src/listing.rs | |
parent | rename `file_upload` to `file_op` (diff) | |
download | miniserve-6b5a46bbb9a101df555cbf45c56e759e2bfa6cd5.tar.gz miniserve-6b5a46bbb9a101df555cbf45c56e759e2bfa6cd5.zip |
Use distinct query type for file op APIs
Diffstat (limited to '')
-rw-r--r-- | src/listing.rs | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/src/listing.rs b/src/listing.rs index e360368..a8feeb4 100644 --- a/src/listing.rs +++ b/src/listing.rs @@ -1,6 +1,6 @@ #![allow(clippy::format_push_string)] use std::io; -use std::path::{Component, Path, PathBuf}; +use std::path::{Component, Path}; use std::time::SystemTime; use actix_web::{dev::ServiceResponse, web::Query, HttpMessage, HttpRequest, HttpResponse}; @@ -28,10 +28,9 @@ mod percent_encode_sets { pub const PATH_SEGMENT: &AsciiSet = &PATH.add(b'/').add(b'\\'); } -/// Query parameters +/// Query parameters used by listing APIs #[derive(Deserialize, Default)] -pub struct QueryParameters { - pub path: Option<PathBuf>, +pub struct ListingQueryParameters { pub sort: Option<SortingMethod>, pub order: Option<SortingOrder>, pub raw: Option<bool>, @@ -393,13 +392,13 @@ pub fn directory_listing( } } -pub fn extract_query_parameters(req: &HttpRequest) -> QueryParameters { - match Query::<QueryParameters>::from_query(req.query_string()) { +pub fn extract_query_parameters(req: &HttpRequest) -> ListingQueryParameters { + match Query::<ListingQueryParameters>::from_query(req.query_string()) { 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::default() + ListingQueryParameters::default() } } } |