diff options
author | marawan ragab <marawan31@gmail.com> | 2020-05-10 21:14:51 +0000 |
---|---|---|
committer | marawan ragab <marawan31@gmail.com> | 2020-05-10 21:14:51 +0000 |
commit | 848557762c1c4eed2ba16713ead97308d1841220 (patch) | |
tree | 9514661da1dbcf2169077044d995af89673a1a7c /src/archive.rs | |
parent | small improvment to buffer usage (diff) | |
download | miniserve-848557762c1c4eed2ba16713ead97308d1841220.tar.gz miniserve-848557762c1c4eed2ba16713ead97308d1841220.zip |
make sure archiving is opt-in
Diffstat (limited to '')
-rw-r--r-- | src/archive.rs | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/archive.rs b/src/archive.rs index 785e1e8..c96814f 100644 --- a/src/archive.rs +++ b/src/archive.rs @@ -1,7 +1,6 @@ use actix_web::http::ContentEncoding; use libflate::gzip::Encoder; use zip::{ZipWriter, write}; -use std::io::BufWriter; use std::fs::File; use std::path::PathBuf; use serde::Deserialize; @@ -54,6 +53,14 @@ impl CompressionMethod { } } + pub fn is_enabled(self, tar_enabled: bool, zip_enabled: bool,) -> bool { + match self { + CompressionMethod::TarGz => tar_enabled, + CompressionMethod::Tar => tar_enabled, + CompressionMethod::Zip => zip_enabled, + } + } + /// Make an archive out of the given directory, and write the output to the given writer. /// /// Recursively includes all files and subdirectories. @@ -258,7 +265,9 @@ where } } - zip_writer.finish().unwrap(); + zip_writer.finish().map_err(|_| { + ContextualError::CustomError("Could not finish writing ZIP archive".to_string()) + })?; Ok(()) } |