diff options
author | Tamas Levai <levait@tmit.bme.hu> | 2021-01-04 21:34:40 +0000 |
---|---|---|
committer | Tamas Levai <levait@tmit.bme.hu> | 2021-01-04 21:34:40 +0000 |
commit | f303c435736da898eb175f95f3f4ce3e9fb539b2 (patch) | |
tree | 845d34f50b49e3f39ac05e0b26bd9b00164b2a3a /src/listing.rs | |
parent | Fix lint (diff) | |
download | miniserve-f303c435736da898eb175f95f3f4ce3e9fb539b2.tar.gz miniserve-f303c435736da898eb175f95f3f4ce3e9fb539b2.zip |
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( |