use std::io::Write;
use flate2::write::GzDecoder;
use super::{Decompressor, error::Error};
#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
pub struct GzipDecompressor {}
impl Decompressor for GzipDecompressor {
fn decompress(&self, data: &[u8]) -> Result<Vec<u8>, Error> {
let mut decompressor = GzDecoder::new(Vec::new());
decompressor.write_all(data)?;
Ok(decompressor.finish()?)
}
}