diff options
author | Sven-Hendrik Haase <svenstaro@gmail.com> | 2021-01-05 06:08:53 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-01-05 06:08:53 +0000 |
commit | 39082dff86c1b304161cad782e2a0d5cd38592e2 (patch) | |
tree | c53882d24eae9e6a179d888ce6d5a9068e4d54a3 /src/listing.rs | |
parent | Fix lint (diff) | |
parent | Fix indentation (diff) | |
download | miniserve-39082dff86c1b304161cad782e2a0d5cd38592e2.tar.gz miniserve-39082dff86c1b304161cad782e2a0d5cd38592e2.zip |
Merge pull request #423 from levaitamas/dirs-first
Add option to list directories first
Diffstat (limited to 'src/listing.rs')
-rw-r--r-- | src/listing.rs | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/listing.rs b/src/listing.rs index eb0b8e1..d7cfd7e 100644 --- a/src/listing.rs +++ b/src/listing.rs @@ -158,6 +158,7 @@ pub fn directory_listing( upload_route: String, tar_enabled: bool, zip_enabled: bool, + dirs_first: bool, title: Option<String>, ) -> Result<ServiceResponse, io::Error> { use actix_web::dev::BodyEncoding; @@ -321,6 +322,11 @@ pub fn directory_listing( entries.reverse() } + // List directories first + if dirs_first { + entries.sort_by_key(|e| !e.is_dir()); + } + if let Some(compression_method) = query_params.download { if !compression_method.is_enabled(tar_enabled, zip_enabled) { return Ok(ServiceResponse::new( |