diff options
author | boasting-squirrel <boasting.squirrel@gmail.com> | 2019-03-12 18:23:22 +0000 |
---|---|---|
committer | boasting-squirrel <boasting.squirrel@gmail.com> | 2019-03-12 18:23:22 +0000 |
commit | 67d771fc3a954ea439e77afac092c84c5489d074 (patch) | |
tree | 2316eaa7ee80299abbc5fbb066cf1663e44e3461 /src/archive.rs | |
parent | Started to add helpful messages for errors which could occur during archiving (diff) | |
download | miniserve-67d771fc3a954ea439e77afac092c84c5489d074.tar.gz miniserve-67d771fc3a954ea439e77afac092c84c5489d074.zip |
Added some error messages + reworked the print_error_chain method
Diffstat (limited to 'src/archive.rs')
-rw-r--r-- | src/archive.rs | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/src/archive.rs b/src/archive.rs index afbcc6b..556fd69 100644 --- a/src/archive.rs +++ b/src/archive.rs @@ -126,12 +126,17 @@ fn tar( /// Compresses a stream of bytes using the GZIP algorithm fn gzip(mut data: &[u8]) -> Result<Vec<u8>, errors::CompressionError> { let mut encoder = - Encoder::new(Vec::new()).context(errors::CompressionErrorKind::GZipBuildingError)?; - io::copy(&mut data, &mut encoder).context(errors::CompressionErrorKind::GZipBuildingError)?; - let data = encoder - .finish() - .into_result() - .context(errors::CompressionErrorKind::GZipBuildingError)?; + Encoder::new(Vec::new()).context(errors::CompressionErrorKind::GZipBuildingError { + message: "failed to create GZIP encoder".to_string(), + })?; + io::copy(&mut data, &mut encoder).context(errors::CompressionErrorKind::GZipBuildingError { + message: "failed to write GZIP data".to_string(), + })?; + let data = encoder.finish().into_result().context( + errors::CompressionErrorKind::GZipBuildingError { + message: "failed to write GZIP trailer".to_string(), + }, + )?; Ok(data) } |