deadbolt-parser 0.1.1

Database parser of deadbolt
Documentation
use flate2::read::GzDecoder;
use flate2::write::GzEncoder;
use flate2::Compression;
use std::io::prelude::*;

pub struct Gzip {}

impl Gzip {
    pub fn compress(data: Vec<u8>) -> Result<Vec<u8>, std::io::Error> {
        let mut encoder = GzEncoder::new(Vec::new(), Compression::default());
        encoder.write_all(&data).unwrap();

        encoder.finish()
    }

    pub fn decompress(data: Vec<u8>) -> Result<Vec<u8>, std::io::Error> {
        let mut decoder = GzDecoder::new(data.as_slice());
        let mut s: Vec<u8> = Vec::new();

        match decoder.read_to_end(&mut s) {
            Ok(_) => Ok(s),
            Err(e) => Err(e),
        }
    }
}