#[cfg(fuzzing)] pub mod fuzz_logic { use crate::hpack; use bytes::BytesMut; use http::header::HeaderName; use std::io::Cursor; pub fn fuzz_hpack(data_: &[u8]) { let mut decoder_ = hpack::Decoder::new(0); let mut buf = BytesMut::new(); buf.extend(data_); let _dec_res = decoder_.decode(&mut Cursor::new(&mut buf), |_h| {}); if let Ok(s) = std::str::from_utf8(data_) { if let Ok(h) = http::Method::from_bytes(s.as_bytes()) { let m_ = hpack::Header::Method(h); let mut encoder = hpack::Encoder::new(0, 0); let _res = encode(&mut encoder, vec![m_]); } } } fn encode(e: &mut hpack::Encoder, hdrs: Vec>>) -> BytesMut { let mut dst = BytesMut::with_capacity(1024); e.encode(&mut hdrs.into_iter(), &mut dst); dst } }