Remove commented out code
This commit is contained in:
@@ -261,155 +261,6 @@ fn gen_string(g: &mut StdRng, min: usize, max: usize) -> String {
|
|||||||
String::from_utf8(bytes).unwrap()
|
String::from_utf8(bytes).unwrap()
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
impl Arbitrary for HeaderSet {
|
|
||||||
fn arbitrary<G: Gen>(g: &mut G) -> Self {
|
|
||||||
let mut source: Vec<Header> = vec![];
|
|
||||||
|
|
||||||
for _ in 0..2000 {
|
|
||||||
source.push(Header::arbitrary(g));
|
|
||||||
}
|
|
||||||
|
|
||||||
// Actual headers
|
|
||||||
let num: usize = g.gen_range(40, 300);
|
|
||||||
let mut actual: Vec<Header> = vec![];
|
|
||||||
|
|
||||||
let skew: i32 = g.gen_range(1, 5);
|
|
||||||
|
|
||||||
while actual.len() < num {
|
|
||||||
let x: f64 = g.gen_range(0.0, 1.0);
|
|
||||||
let x = x.powi(skew);
|
|
||||||
|
|
||||||
let i = (x * source.len() as f64) as usize;
|
|
||||||
actual.push(source[i].clone());
|
|
||||||
}
|
|
||||||
|
|
||||||
HeaderSet {
|
|
||||||
headers: actual,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
fn shrink(&self) -> Box<Iterator<Item=HeaderSet>> {
|
|
||||||
let headers = self.headers.clone();
|
|
||||||
|
|
||||||
let iter = (0..headers.len()+1).map(move |i| {
|
|
||||||
HeaderSet { headers: headers[..0].to_vec() }
|
|
||||||
});
|
|
||||||
|
|
||||||
Box::new(iter)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
impl Arbitrary for Header {
|
|
||||||
fn arbitrary<G: Gen>(g: &mut G) -> Self {
|
|
||||||
use http::StatusCode;
|
|
||||||
use http::method::{self, Method};
|
|
||||||
|
|
||||||
if g.gen_weighted_bool(10) {
|
|
||||||
match g.next_u32() % 5 {
|
|
||||||
0 => {
|
|
||||||
let value = String::arbitrary(g);
|
|
||||||
Header::Authority(value.into())
|
|
||||||
}
|
|
||||||
1 => {
|
|
||||||
let method = match g.next_u32() % 6 {
|
|
||||||
0 => method::GET,
|
|
||||||
1 => method::POST,
|
|
||||||
2 => method::PUT,
|
|
||||||
3 => method::PATCH,
|
|
||||||
4 => method::DELETE,
|
|
||||||
5 => {
|
|
||||||
let n = g.gen::<usize>() % 7;
|
|
||||||
let bytes: Vec<u8> = (0..n).map(|_| {
|
|
||||||
g.choose(b"ABCDEFGHIJKLMNOPQRSTUVWXYZ").unwrap().clone()
|
|
||||||
}).collect();
|
|
||||||
|
|
||||||
Method::from_bytes(&bytes).unwrap()
|
|
||||||
}
|
|
||||||
_ => unreachable!(),
|
|
||||||
};
|
|
||||||
|
|
||||||
Header::Method(method)
|
|
||||||
}
|
|
||||||
2 => {
|
|
||||||
let value = match g.next_u32() % 2 {
|
|
||||||
0 => "http",
|
|
||||||
1 => "https",
|
|
||||||
_ => unreachable!(),
|
|
||||||
};
|
|
||||||
|
|
||||||
Header::Scheme(value.into())
|
|
||||||
}
|
|
||||||
3 => {
|
|
||||||
let value = match g.next_u32() % 100 {
|
|
||||||
0 => "/".to_string(),
|
|
||||||
1 => "/index.html".to_string(),
|
|
||||||
_ => String::arbitrary(g),
|
|
||||||
};
|
|
||||||
|
|
||||||
Header::Path(value.into())
|
|
||||||
}
|
|
||||||
4 => {
|
|
||||||
let status = (g.gen::<u16>() % 500) + 100;
|
|
||||||
|
|
||||||
Header::Status(StatusCode::from_u16(status).unwrap())
|
|
||||||
}
|
|
||||||
_ => unreachable!(),
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
let mut name = HeaderName2::arbitrary(g);
|
|
||||||
let mut value = HeaderValue2::arbitrary(g);
|
|
||||||
|
|
||||||
if g.gen_weighted_bool(30) {
|
|
||||||
value.0.set_sensitive(true);
|
|
||||||
}
|
|
||||||
|
|
||||||
Header::Field { name: name.0, value: value.0 }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#[derive(Clone)]
|
|
||||||
struct HeaderName2(HeaderName);
|
|
||||||
|
|
||||||
#[derive(Clone)]
|
|
||||||
struct HeaderValue2(HeaderValue);
|
|
||||||
|
|
||||||
impl Arbitrary for HeaderName2 {
|
|
||||||
fn arbitrary<G: Gen>(g: &mut G) -> Self {
|
|
||||||
use http::header;
|
|
||||||
|
|
||||||
if g.gen_weighted_bool(2) {
|
|
||||||
g.choose(&[
|
|
||||||
HeaderName2(header::ACCEPT),
|
|
||||||
]).unwrap().clone()
|
|
||||||
} else {
|
|
||||||
let len = g.gen::<usize>() % 25 + 1;
|
|
||||||
|
|
||||||
let value: Vec<u8> = (0..len).map(|_| {
|
|
||||||
g.choose(b"abcdefghijklmnopqrstuvwxyz-").unwrap().clone()
|
|
||||||
}).collect();
|
|
||||||
|
|
||||||
HeaderName2(HeaderName::from_bytes(&value).unwrap())
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
impl Arbitrary for HeaderValue2 {
|
|
||||||
fn arbitrary<G: Gen>(g: &mut G) -> Self {
|
|
||||||
// Random length
|
|
||||||
let len = g.gen::<usize>() % 70;
|
|
||||||
|
|
||||||
// Generate the value
|
|
||||||
let value: Vec<u8> = (0..len).map(|_| {
|
|
||||||
g.choose(b"abcdefghijklmnopqrstuvwxyz -_").unwrap().clone()
|
|
||||||
}).collect();
|
|
||||||
|
|
||||||
HeaderValue2(HeaderValue::try_from_bytes(&value).unwrap())
|
|
||||||
}
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn hpack_fixtures() {
|
fn hpack_fixtures() {
|
||||||
let fixture_dir = Path::new(env!("CARGO_MANIFEST_DIR"))
|
let fixture_dir = Path::new(env!("CARGO_MANIFEST_DIR"))
|
||||||
|
|||||||
Reference in New Issue
Block a user