Skip to content

Commit 41508d3

Browse files
committed
feat(decompress-plz): added Copy variant to DecompressError
1 parent d53868d commit 41508d3

File tree

3 files changed

+12
-1
lines changed

3 files changed

+12
-1
lines changed

decompression-plz/src/decompression/multi/error.rs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,12 @@ impl MultiDecompressError {
1515
}
1616
}
1717

18+
impl From<std::io::Error> for MultiDecompressError {
19+
fn from(e: std::io::Error) -> Self {
20+
MultiDecompressError::new(MultiDecompressErrorReason::Copy, DecompressError::Copy(e))
21+
}
22+
}
23+
1824
#[derive(Debug, Error)]
1925
pub enum MultiDecompressErrorReason {
2026
#[error("Corrupt")]
@@ -25,4 +31,6 @@ pub enum MultiDecompressErrorReason {
2531
header_index: usize,
2632
compression_index: usize,
2733
},
34+
#[error("Copy")]
35+
Copy,
2836
}

decompression-plz/src/decompression/multi/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ pub fn decompress_multi(
3030
MultiDecompressErrorReason::Corrupt
3131
} else {
3232
writer.get_mut().clear();
33-
std::io::copy(&mut input, writer).unwrap();
33+
std::io::copy(&mut input, writer)?;
3434
output = writer.get_mut().split();
3535
MultiDecompressErrorReason::Partial {
3636
partial_body: output,

decompression-plz/src/decompression/single/error.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@ use thiserror::Error;
33

44
#[derive(Debug, Error)]
55
pub enum DecompressError {
6+
// Error when copying partial decompressed data
7+
#[error("copy| {0}")]
8+
Copy(Error),
69
#[error("brotli| {0}")]
710
Brotli(Error),
811
#[error("deflate| {0}")]

0 commit comments

Comments
 (0)