amadeus_utils/
compression.rs1use flate2::{Compression, read::DeflateDecoder, write::DeflateEncoder};
3use std::io::{Read, Write};
4
5pub fn compress_with_zlib(data: &[u8]) -> Result<Vec<u8>, std::io::Error> {
7 let mut encoder = DeflateEncoder::new(Vec::new(), Compression::new(6));
8 encoder.write_all(data)?;
9 encoder.finish()
10}
11
12pub fn decompress_with_zlib(data: &[u8]) -> Result<Vec<u8>, std::io::Error> {
14 let mut decoder = DeflateDecoder::new(data);
15 let mut result = Vec::new();
16 decoder.read_to_end(&mut result)?;
17 Ok(result)
18}