diff options
| author | mo khan <mo@mokhan.ca> | 2025-07-15 16:37:08 -0600 |
|---|---|---|
| committer | mo khan <mo@mokhan.ca> | 2025-07-17 16:30:22 -0600 |
| commit | 45df4d0d9b577fecee798d672695fe24ff57fb1b (patch) | |
| tree | 1b99bf645035b58e0d6db08c7a83521f41f7a75b /vendor/httparse/tests/uri.rs | |
| parent | f94f79608393d4ab127db63cc41668445ef6b243 (diff) | |
feat: migrate from Cedar to SpiceDB authorization system
This is a major architectural change that replaces the Cedar policy-based
authorization system with SpiceDB's relation-based authorization.
Key changes:
- Migrate from Rust to Go implementation
- Replace Cedar policies with SpiceDB schema and relationships
- Switch from envoy `ext_authz` with Cedar to SpiceDB permission checks
- Update build system and dependencies for Go ecosystem
- Maintain Envoy integration for external authorization
This change enables more flexible permission modeling through SpiceDB's
Google Zanzibar inspired relation-based system, supporting complex
hierarchical permissions that were difficult to express in Cedar.
Breaking change: Existing Cedar policies and Rust-based configuration
will no longer work and need to be migrated to SpiceDB schema.
Diffstat (limited to 'vendor/httparse/tests/uri.rs')
| -rw-r--r-- | vendor/httparse/tests/uri.rs | 3692 |
1 files changed, 0 insertions, 3692 deletions
diff --git a/vendor/httparse/tests/uri.rs b/vendor/httparse/tests/uri.rs deleted file mode 100644 index e0ceab47..00000000 --- a/vendor/httparse/tests/uri.rs +++ /dev/null @@ -1,3692 +0,0 @@ - -use httparse::{Error, Request, Status, EMPTY_HEADER}; - -const NUM_OF_HEADERS: usize = 4; - -macro_rules! req { - ($name:ident, $buf:expr, |$arg:ident| $body:expr) => ( - req! {$name, $buf, Ok(Status::Complete($buf.len())), |$arg| $body } - ); - ($name:ident, $buf:expr, $len:expr, |$arg:ident| $body:expr) => ( - #[test] - fn $name() { - let mut headers = [EMPTY_HEADER; NUM_OF_HEADERS]; - let mut req = Request::new(&mut headers[..]); - let status = req.parse($buf.as_ref()); - assert_eq!(status, $len); - closure(req); - - fn closure($arg: Request<'_, '_>) { - $body - } - } - ) -} - -req! { - urltest_001, - b"GET /bar;par?b HTTP/1.1\r\nHost: foo\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/bar;par?b"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"foo"); - } -} - - -req! { - urltest_002, - b"GET /x HTTP/1.1\r\nHost: test\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/x"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"test"); - } -} - - -req! { - urltest_003, - b"GET /x HTTP/1.1\r\nHost: test\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/x"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"test"); - } -} - - -req! { - urltest_004, - b"GET /foo/foo.com HTTP/1.1\r\nHost: example.org\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/foo/foo.com"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"example.org"); - } -} - - -req! { - urltest_005, - b"GET /foo/:foo.com HTTP/1.1\r\nHost: example.org\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/foo/:foo.com"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"example.org"); - } -} - - -req! { - urltest_006, - b"GET /foo/foo.com HTTP/1.1\r\nHost: example.org\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/foo/foo.com"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"example.org"); - } -} - - -req! { - urltest_007, - b"GET foo.com HTTP/1.1\r\nHost: \r\n\r\n", - Err(Error::Token), - |_r| {} -} - - -req! { - urltest_008, - b"GET /%20b%20?%20d%20 HTTP/1.1\r\nHost: f\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/%20b%20?%20d%20"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"f"); - } -} - - -req! { - urltest_009, - b"GET x x HTTP/1.1\r\nHost: \r\n\r\n", - Err(Error::Version), - |_r| {} -} - - -req! { - urltest_010, - b"GET /c HTTP/1.1\r\nHost: f\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/c"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"f"); - } -} - - -req! { - urltest_011, - b"GET /c HTTP/1.1\r\nHost: f\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/c"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"f"); - } -} - - -req! { - urltest_012, - b"GET /c HTTP/1.1\r\nHost: f\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/c"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"f"); - } -} - - -req! { - urltest_013, - b"GET /c HTTP/1.1\r\nHost: f\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/c"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"f"); - } -} - - -req! { - urltest_014, - b"GET /c HTTP/1.1\r\nHost: f\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/c"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"f"); - } -} - - -req! { - urltest_015, - b"GET /foo/bar HTTP/1.1\r\nHost: example.org\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/foo/bar"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"example.org"); - } -} - - -req! { - urltest_016, - b"GET /foo/bar HTTP/1.1\r\nHost: example.org\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/foo/bar"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"example.org"); - } -} - - -req! { - urltest_017, - b"GET /foo/:foo.com/ HTTP/1.1\r\nHost: example.org\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/foo/:foo.com/"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"example.org"); - } -} - - -req! { - urltest_018, - b"GET /foo/:foo.com/ HTTP/1.1\r\nHost: example.org\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/foo/:foo.com/"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"example.org"); - } -} - - -req! { - urltest_019, - b"GET /foo/: HTTP/1.1\r\nHost: example.org\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/foo/:"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"example.org"); - } -} - - -req! { - urltest_020, - b"GET /foo/:a HTTP/1.1\r\nHost: example.org\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/foo/:a"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"example.org"); - } -} - - -req! { - urltest_021, - b"GET /foo/:/ HTTP/1.1\r\nHost: example.org\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/foo/:/"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"example.org"); - } -} - - -req! { - urltest_022, - b"GET /foo/:/ HTTP/1.1\r\nHost: example.org\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/foo/:/"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"example.org"); - } -} - - -req! { - urltest_023, - b"GET /foo/: HTTP/1.1\r\nHost: example.org\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/foo/:"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"example.org"); - } -} - - -req! { - urltest_024, - b"GET /foo/bar HTTP/1.1\r\nHost: example.org\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/foo/bar"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"example.org"); - } -} - - -req! { - urltest_025, - b"GET /foo/bar HTTP/1.1\r\nHost: example.org\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/foo/bar"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"example.org"); - } -} - - -req! { - urltest_026, - b"GET /foo/bar HTTP/1.1\r\nHost: example.org\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/foo/bar"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"example.org"); - } -} - - -req! { - urltest_027, - b"GET /foo/bar HTTP/1.1\r\nHost: example.org\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/foo/bar"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"example.org"); - } -} - - -req! { - urltest_028, - b"GET /foo/bar HTTP/1.1\r\nHost: example.org\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/foo/bar"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"example.org"); - } -} - - -req! { - urltest_029, - b"GET /foo/:23 HTTP/1.1\r\nHost: example.org\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/foo/:23"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"example.org"); - } -} - - -req! { - urltest_030, - b"GET /:23 HTTP/1.1\r\nHost: example.org\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/:23"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"example.org"); - } -} - - -req! { - urltest_031, - b"GET /foo/:: HTTP/1.1\r\nHost: example.org\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/foo/::"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"example.org"); - } -} - - -req! { - urltest_032, - b"GET /foo/::23 HTTP/1.1\r\nHost: example.org\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/foo/::23"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"example.org"); - } -} - - -req! { - urltest_033, - b"GET /d HTTP/1.1\r\nHost: c\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/d"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"c"); - } -} - - -req! { - urltest_034, - b"GET /foo/:@c:29 HTTP/1.1\r\nHost: example.org\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/foo/:@c:29"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"example.org"); - } -} - - -req! { - urltest_035, - b"GET //@ HTTP/1.1\r\nHost: foo.com\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "//@"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"foo.com"); - } -} - - -req! { - urltest_036, - b"GET /b:c/d@foo.com/ HTTP/1.1\r\nHost: a\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/b:c/d@foo.com/"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"a"); - } -} - - -req! { - urltest_037, - b"GET /bar.com/ HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/bar.com/"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_038, - b"GET /////// HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "///////"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_039, - b"GET ///////bar.com/ HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "///////bar.com/"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_040, - b"GET //:///// HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "//://///"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_041, - b"GET /foo HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/foo"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_042, - b"GET /bar HTTP/1.1\r\nHost: foo\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/bar"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"foo"); - } -} - - -req! { - urltest_043, - b"GET /path;a??e HTTP/1.1\r\nHost: foo\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/path;a??e"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"foo"); - } -} - - -req! { - urltest_044, - b"GET /abcd?efgh?ijkl HTTP/1.1\r\nHost: foo\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/abcd?efgh?ijkl"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"foo"); - } -} - - -req! { - urltest_045, - b"GET /abcd HTTP/1.1\r\nHost: foo\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/abcd"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"foo"); - } -} - - -req! { - urltest_046, - b"GET /foo/[61:24:74]:98 HTTP/1.1\r\nHost: example.org\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/foo/[61:24:74]:98"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"example.org"); - } -} - - -req! { - urltest_047, - b"GET /foo/[61:27]/:foo HTTP/1.1\r\nHost: example.org\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/foo/[61:27]/:foo"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"example.org"); - } -} - - -req! { - urltest_048, - b"GET /example.com/ HTTP/1.1\r\nHost: example.org\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/example.com/"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"example.org"); - } -} - - -req! { - urltest_049, - b"GET /example.com/ HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/example.com/"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_050, - b"GET /example.com/ HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/example.com/"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_051, - b"GET /example.com/ HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/example.com/"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_052, - b"GET /example.com/ HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/example.com/"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_053, - b"GET /example.com/ HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/example.com/"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_054, - b"GET /example.com/ HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/example.com/"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_055, - b"GET /foo/example.com/ HTTP/1.1\r\nHost: example.org\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/foo/example.com/"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"example.org"); - } -} - - -req! { - urltest_056, - b"GET example.com/ HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "example.com/"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_057, - b"GET example.com/ HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "example.com/"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_058, - b"GET example.com/ HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "example.com/"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_059, - b"GET example.com/ HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "example.com/"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_060, - b"GET example.com/ HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "example.com/"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_061, - b"GET /a/b/c HTTP/1.1\r\nHost: example.org\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/a/b/c"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"example.org"); - } -} - - -req! { - urltest_062, - b"GET /a/%20/c HTTP/1.1\r\nHost: example.org\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/a/%20/c"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"example.org"); - } -} - - -req! { - urltest_063, - b"GET /a%2fc HTTP/1.1\r\nHost: example.org\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/a%2fc"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"example.org"); - } -} - - -req! { - urltest_064, - b"GET /a/%2f/c HTTP/1.1\r\nHost: example.org\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/a/%2f/c"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"example.org"); - } -} - - -req! { - urltest_065, - b"GET /foo/bar HTTP/1.1\r\nHost: example.org\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/foo/bar"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"example.org"); - } -} - - -req! { - urltest_066, - b"GET text/html,test HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "text/html,test"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_067, - b"GET 1234567890 HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "1234567890"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_068, - b"GET /c:/foo/bar.html HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/c:/foo/bar.html"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_069, - b"GET /c:////foo/bar.html HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/c:////foo/bar.html"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_070, - b"GET /C:/foo/bar HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/C:/foo/bar"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_071, - b"GET /C:/foo/bar HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/C:/foo/bar"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_072, - b"GET /C:/foo/bar HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/C:/foo/bar"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_073, - b"GET /file HTTP/1.1\r\nHost: server\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/file"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"server"); - } -} - - -req! { - urltest_074, - b"GET /file HTTP/1.1\r\nHost: server\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/file"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"server"); - } -} - - -req! { - urltest_075, - b"GET /file HTTP/1.1\r\nHost: server\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/file"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"server"); - } -} - - -req! { - urltest_076, - b"GET /foo/bar.txt HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/foo/bar.txt"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_077, - b"GET /home/me HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/home/me"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_078, - b"GET /test HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/test"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_079, - b"GET /test HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/test"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_080, - b"GET /tmp/mock/test HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/tmp/mock/test"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_081, - b"GET /tmp/mock/test HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/tmp/mock/test"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_082, - b"GET /foo HTTP/1.1\r\nHost: example.com\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/foo"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"example.com"); - } -} - - -req! { - urltest_083, - b"GET /.foo HTTP/1.1\r\nHost: example.com\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/.foo"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"example.com"); - } -} - - -req! { - urltest_084, - b"GET /foo/ HTTP/1.1\r\nHost: example.com\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/foo/"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"example.com"); - } -} - - -req! { - urltest_085, - b"GET /foo/ HTTP/1.1\r\nHost: example.com\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/foo/"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"example.com"); - } -} - - -req! { - urltest_086, - b"GET /foo/ HTTP/1.1\r\nHost: example.com\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/foo/"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"example.com"); - } -} - - -req! { - urltest_087, - b"GET /foo/ HTTP/1.1\r\nHost: example.com\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/foo/"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"example.com"); - } -} - - -req! { - urltest_088, - b"GET /foo/..bar HTTP/1.1\r\nHost: example.com\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/foo/..bar"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"example.com"); - } -} - - -req! { - urltest_089, - b"GET /foo/ton HTTP/1.1\r\nHost: example.com\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/foo/ton"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"example.com"); - } -} - - -req! { - urltest_090, - b"GET /a HTTP/1.1\r\nHost: example.com\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/a"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"example.com"); - } -} - - -req! { - urltest_091, - b"GET /ton HTTP/1.1\r\nHost: example.com\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/ton"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"example.com"); - } -} - - -req! { - urltest_092, - b"GET /foo/ HTTP/1.1\r\nHost: example.com\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/foo/"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"example.com"); - } -} - - -req! { - urltest_093, - b"GET /foo/%2e%2 HTTP/1.1\r\nHost: example.com\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/foo/%2e%2"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"example.com"); - } -} - - -req! { - urltest_094, - b"GET /%2e.bar HTTP/1.1\r\nHost: example.com\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/%2e.bar"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"example.com"); - } -} - - -req! { - urltest_095, - b"GET // HTTP/1.1\r\nHost: example.com\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "//"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"example.com"); - } -} - - -req! { - urltest_096, - b"GET /foo/ HTTP/1.1\r\nHost: example.com\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/foo/"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"example.com"); - } -} - - -req! { - urltest_097, - b"GET /foo/bar/ HTTP/1.1\r\nHost: example.com\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/foo/bar/"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"example.com"); - } -} - - -req! { - urltest_098, - b"GET /foo HTTP/1.1\r\nHost: example.com\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/foo"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"example.com"); - } -} - - -req! { - urltest_099, - b"GET /%20foo HTTP/1.1\r\nHost: example.com\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/%20foo"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"example.com"); - } -} - - -req! { - urltest_100, - b"GET /foo% HTTP/1.1\r\nHost: example.com\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/foo%"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"example.com"); - } -} - - -req! { - urltest_101, - b"GET /foo%2 HTTP/1.1\r\nHost: example.com\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/foo%2"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"example.com"); - } -} - - -req! { - urltest_102, - b"GET /foo%2zbar HTTP/1.1\r\nHost: example.com\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/foo%2zbar"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"example.com"); - } -} - - -req! { - urltest_103, - b"GET /foo%2%C3%82%C2%A9zbar HTTP/1.1\r\nHost: example.com\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/foo%2%C3%82%C2%A9zbar"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"example.com"); - } -} - - -req! { - urltest_104, - b"GET /foo%41%7a HTTP/1.1\r\nHost: example.com\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/foo%41%7a"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"example.com"); - } -} - - -req! { - urltest_105, - b"GET /foo%C2%91%91 HTTP/1.1\r\nHost: example.com\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/foo%C2%91%91"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"example.com"); - } -} - - -req! { - urltest_106, - b"GET /foo%00%51 HTTP/1.1\r\nHost: example.com\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/foo%00%51"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"example.com"); - } -} - - -req! { - urltest_107, - b"GET /(%28:%3A%29) HTTP/1.1\r\nHost: example.com\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/(%28:%3A%29)"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"example.com"); - } -} - - -req! { - urltest_108, - b"GET /%3A%3a%3C%3c HTTP/1.1\r\nHost: example.com\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/%3A%3a%3C%3c"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"example.com"); - } -} - - -req! { - urltest_109, - b"GET /foobar HTTP/1.1\r\nHost: example.com\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/foobar"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"example.com"); - } -} - - -req! { - urltest_110, - b"GET //foo//bar HTTP/1.1\r\nHost: example.com\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "//foo//bar"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"example.com"); - } -} - - -req! { - urltest_111, - b"GET /%7Ffp3%3Eju%3Dduvgw%3Dd HTTP/1.1\r\nHost: example.com\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/%7Ffp3%3Eju%3Dduvgw%3Dd"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"example.com"); - } -} - - -req! { - urltest_112, - b"GET /@asdf%40 HTTP/1.1\r\nHost: example.com\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/@asdf%40"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"example.com"); - } -} - - -req! { - urltest_113, - b"GET /%E4%BD%A0%E5%A5%BD%E4%BD%A0%E5%A5%BD HTTP/1.1\r\nHost: example.com\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/%E4%BD%A0%E5%A5%BD%E4%BD%A0%E5%A5%BD"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"example.com"); - } -} - - -req! { - urltest_114, - b"GET /%E2%80%A5/foo HTTP/1.1\r\nHost: example.com\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/%E2%80%A5/foo"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"example.com"); - } -} - - -req! { - urltest_115, - b"GET /%EF%BB%BF/foo HTTP/1.1\r\nHost: example.com\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/%EF%BB%BF/foo"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"example.com"); - } -} - - -req! { - urltest_116, - b"GET /%E2%80%AE/foo/%E2%80%AD/bar HTTP/1.1\r\nHost: example.com\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/%E2%80%AE/foo/%E2%80%AD/bar"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"example.com"); - } -} - - -req! { - urltest_117, - b"GET /foo?bar=baz HTTP/1.1\r\nHost: www.google.com\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/foo?bar=baz"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"www.google.com"); - } -} - - -req! { - urltest_118, - b"GET /foo?bar=baz HTTP/1.1\r\nHost: www.google.com\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/foo?bar=baz"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"www.google.com"); - } -} - - -req! { - urltest_119, - b"GET test HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "test"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_120, - b"GET /foo%2Ehtml HTTP/1.1\r\nHost: www\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/foo%2Ehtml"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"www"); - } -} - - -req! { - urltest_121, - b"GET /foo/html HTTP/1.1\r\nHost: www\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/foo/html"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"www"); - } -} - - -req! { - urltest_122, - b"GET /foo HTTP/1.1\r\nHost: www.google.com\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/foo"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"www.google.com"); - } -} - - -req! { - urltest_123, - b"GET /example.com/ HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/example.com/"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_124, - b"GET /example.com/ HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/example.com/"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_125, - b"GET /example.com/ HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/example.com/"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_126, - b"GET /example.com/ HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/example.com/"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_127, - b"GET /example.com/ HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/example.com/"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_128, - b"GET /example.com/ HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/example.com/"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_129, - b"GET example.com/ HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "example.com/"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_130, - b"GET example.com/ HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "example.com/"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_131, - b"GET example.com/ HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "example.com/"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_132, - b"GET example.com/ HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "example.com/"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_133, - b"GET example.com/ HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "example.com/"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_134, - b"GET /test.txt HTTP/1.1\r\nHost: www.example.com\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/test.txt"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"www.example.com"); - } -} - - -req! { - urltest_135, - b"GET /test.txt HTTP/1.1\r\nHost: www.example.com\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/test.txt"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"www.example.com"); - } -} - - -req! { - urltest_136, - b"GET /test.txt HTTP/1.1\r\nHost: www.example.com\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/test.txt"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"www.example.com"); - } -} - - -req! { - urltest_137, - b"GET /test.txt HTTP/1.1\r\nHost: www.example.com\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/test.txt"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"www.example.com"); - } -} - - -req! { - urltest_138, - b"GET /aaa/test.txt HTTP/1.1\r\nHost: www.example.com\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/aaa/test.txt"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"www.example.com"); - } -} - - -req! { - urltest_139, - b"GET /test.txt HTTP/1.1\r\nHost: www.example.com\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/test.txt"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"www.example.com"); - } -} - - -req! { - urltest_140, - b"GET /%E4%B8%AD/test.txt HTTP/1.1\r\nHost: www.example.com\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/%E4%B8%AD/test.txt"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"www.example.com"); - } -} - - -req! { - urltest_141, - b"GET /... HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/..."); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_142, - b"GET /a HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/a"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_143, - b"GET /%EF%BF%BD?%EF%BF%BD HTTP/1.1\r\nHost: x\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/%EF%BF%BD?%EF%BF%BD"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"x"); - } -} - - -req! { - urltest_144, - b"GET /bar HTTP/1.1\r\nHost: example.com\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/bar"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"example.com"); - } -} - - -req! { - urltest_145, - b"GET test HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "test"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_146, - b"GET x@x.com HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "x@x.com"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_147, - b"GET , HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), ","); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_148, - b"GET blank HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "blank"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_149, - b"GET test?test HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "test?test"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_150, - b"GET /%60%7B%7D?`{} HTTP/1.1\r\nHost: h\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/%60%7B%7D?`{}"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"h"); - } - -} - - -req! { - urltest_151, - b"GET /?%27 HTTP/1.1\r\nHost: host\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/?%27"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"host"); - } -} - - -req! { - urltest_152, - b"GET /?' HTTP/1.1\r\nHost: host\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/?'"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"host"); - } -} - - -req! { - urltest_153, - b"GET /some/path HTTP/1.1\r\nHost: example.org\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/some/path"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"example.org"); - } -} - - -req! { - urltest_154, - b"GET /smth HTTP/1.1\r\nHost: example.org\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/smth"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"example.org"); - } -} - - -req! { - urltest_155, - b"GET /some/path HTTP/1.1\r\nHost: example.org\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/some/path"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"example.org"); - } -} - - -req! { - urltest_156, - b"GET /pa/i HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/pa/i"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_157, - b"GET /i HTTP/1.1\r\nHost: ho\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/i"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"ho"); - } -} - - -req! { - urltest_158, - b"GET /pa/i HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/pa/i"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_159, - b"GET /i HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/i"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_160, - b"GET /i HTTP/1.1\r\nHost: ho\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/i"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"ho"); - } -} - - -req! { - urltest_161, - b"GET /i HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/i"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_162, - b"GET /i HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/i"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_163, - b"GET /i HTTP/1.1\r\nHost: ho\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/i"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"ho"); - } -} - - -req! { - urltest_164, - b"GET /i HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/i"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_165, - b"GET /pa/pa?i HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/pa/pa?i"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_166, - b"GET /pa?i HTTP/1.1\r\nHost: ho\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/pa?i"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"ho"); - } -} - - -req! { - urltest_167, - b"GET /pa/pa?i HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/pa/pa?i"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_168, - b"GET sd HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "sd"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_169, - b"GET sd/sd HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "sd/sd"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_170, - b"GET /pa/pa HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/pa/pa"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_171, - b"GET /pa HTTP/1.1\r\nHost: ho\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/pa"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"ho"); - } -} - - -req! { - urltest_172, - b"GET /pa/pa HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/pa/pa"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_173, - b"GET /x HTTP/1.1\r\nHost: %C3%B1\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/x"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"%C3%B1"); - } -} - - -req! { - urltest_174, - b"GET \\.\\./ HTTP/1.1\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "\\.\\./"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 0); - } -} - - -req! { - urltest_175, - b"GET :a@example.net HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), ":a@example.net"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_176, - b"GET %NBD HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "%NBD"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_177, - b"GET %1G HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "%1G"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_178, - b"GET /relative_import.html HTTP/1.1\r\nHost: 127.0.0.1\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/relative_import.html"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"127.0.0.1"); - } -} - - -req! { - urltest_179, - b"GET /?foo=%7B%22abc%22 HTTP/1.1\r\nHost: facebook.com\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/?foo=%7B%22abc%22"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"facebook.com"); - } -} - - -req! { - urltest_180, - b"GET /jqueryui@1.2.3 HTTP/1.1\r\nHost: localhost\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/jqueryui@1.2.3"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"localhost"); - } -} - - -req! { - urltest_181, - b"GET /path?query HTTP/1.1\r\nHost: host\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/path?query"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"host"); - } -} - - -req! { - urltest_182, - b"GET /foo/bar?a=b&c=d HTTP/1.1\r\nHost: example.org\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/foo/bar?a=b&c=d"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"example.org"); - } -} - - -req! { - urltest_183, - b"GET /foo/bar??a=b&c=d HTTP/1.1\r\nHost: example.org\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/foo/bar??a=b&c=d"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"example.org"); - } -} - - -req! { - urltest_184, - b"GET /foo/bar HTTP/1.1\r\nHost: example.org\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/foo/bar"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"example.org"); - } -} - - -req! { - urltest_185, - b"GET /baz?qux HTTP/1.1\r\nHost: foo.bar\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/baz?qux"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"foo.bar"); - } -} - - -req! { - urltest_186, - b"GET /baz?qux HTTP/1.1\r\nHost: foo.bar\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/baz?qux"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"foo.bar"); - } -} - - -req! { - urltest_187, - b"GET /baz?qux HTTP/1.1\r\nHost: foo.bar\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/baz?qux"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"foo.bar"); - } -} - - -req! { - urltest_188, - b"GET /baz?qux HTTP/1.1\r\nHost: foo.bar\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/baz?qux"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"foo.bar"); - } -} - - -req! { - urltest_189, - b"GET /baz?qux HTTP/1.1\r\nHost: foo.bar\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/baz?qux"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"foo.bar"); - } -} - - -req! { - urltest_190, - b"GET /C%3A/ HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/C%3A/"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_191, - b"GET /C%7C/ HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/C%7C/"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_192, - b"GET /C:/Users/Domenic/Dropbox/GitHub/tmpvar/jsdom/test/level2/html/files/pix/submit.gif HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/C:/Users/Domenic/Dropbox/GitHub/tmpvar/jsdom/test/level2/html/files/pix/submit.gif"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_193, - b"GET /C:/ HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/C:/"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_194, - b"GET /C:/ HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/C:/"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_195, - b"GET /d: HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/d:"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_196, - b"GET /d:/ HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/d:/"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_197, - b"GET /test?test HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/test?test"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_198, - b"GET /test?test HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/test?test"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_199, - b"GET /test?x HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/test?x"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_200, - b"GET /test?x HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/test?x"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_201, - b"GET /test?test HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/test?test"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_202, - b"GET /test?test HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/test?test"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_203, - b"GET /?fox HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/?fox"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_204, - b"GET /localhost//cat HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/localhost//cat"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_205, - b"GET /localhost//cat HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/localhost//cat"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_206, - b"GET /mouse HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/mouse"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_207, - b"GET /pig HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/pig"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_208, - b"GET /pig HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/pig"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_209, - b"GET /pig HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/pig"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_210, - b"GET /localhost//pig HTTP/1.1\r\nHost: lion\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/localhost//pig"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"lion"); - } -} - - -req! { - urltest_211, - b"GET /rooibos HTTP/1.1\r\nHost: tea\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/rooibos"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"tea"); - } -} - - -req! { - urltest_212, - b"GET /?chai HTTP/1.1\r\nHost: tea\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/?chai"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"tea"); - } -} - - -req! { - urltest_213, - b"GET /C: HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/C:"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_214, - b"GET /C: HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/C:"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_215, - b"GET /C: HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/C:"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_216, - b"GET /C:/ HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/C:/"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_217, - b"GET /C:/ HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/C:/"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_218, - b"GET /C:/ HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/C:/"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_219, - b"GET /dir/C HTTP/1.1\r\nHost: host\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/dir/C"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"host"); - } -} - - -req! { - urltest_220, - b"GET /dir/C|a HTTP/1.1\r\nHost: host\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/dir/C|a"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"host"); - } -} - - -req! { - urltest_221, - b"GET /c:/foo/bar HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/c:/foo/bar"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_222, - b"GET /c:/foo/bar HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/c:/foo/bar"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_223, - b"GET /c:/foo/bar HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/c:/foo/bar"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_224, - b"GET /c:/foo/bar HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/c:/foo/bar"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_225, - b"GET /C:/ HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/C:/"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_226, - b"GET /C:/ HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/C:/"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_227, - b"GET /C:/ HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/C:/"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_228, - b"GET /C:/ HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/C:/"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_229, - b"GET /C:/ HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/C:/"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_230, - b"GET /?q=v HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/?q=v"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_231, - b"GET ?x HTTP/1.1\r\nHost: %C3%B1\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "?x"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"%C3%B1"); - } -} - - -req! { - urltest_232, - b"GET ?x HTTP/1.1\r\nHost: %C3%B1\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "?x"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"%C3%B1"); - } -} - - -req! { - urltest_233, - b"GET // HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "//"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_234, - b"GET //x/ HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "//x/"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_235, - b"GET /someconfig;mode=netascii HTTP/1.1\r\nHost: foobar.com\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/someconfig;mode=netascii"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"foobar.com"); - } -} - - -req! { - urltest_236, - b"GET /Index.ut2 HTTP/1.1\r\nHost: 10.10.10.10\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/Index.ut2"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"10.10.10.10"); - } -} - - -req! { - urltest_237, - b"GET /0?baz=bam&qux=baz HTTP/1.1\r\nHost: somehost\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/0?baz=bam&qux=baz"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"somehost"); - } -} - - -req! { - urltest_238, - b"GET /sup HTTP/1.1\r\nHost: host\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/sup"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"host"); - } -} - - -req! { - urltest_239, - b"GET /foo/bar.git HTTP/1.1\r\nHost: github.com\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/foo/bar.git"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"github.com"); - } -} - - -req! { - urltest_240, - b"GET /channel?passwd HTTP/1.1\r\nHost: myserver.com\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/channel?passwd"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"myserver.com"); - } -} - - -req! { - urltest_241, - b"GET /foo.bar.org?type=TXT HTTP/1.1\r\nHost: fw.example.org\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/foo.bar.org?type=TXT"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"fw.example.org"); - } -} - - -req! { - urltest_242, - b"GET /ou=People,o=JNDITutorial HTTP/1.1\r\nHost: localhost\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/ou=People,o=JNDITutorial"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"localhost"); - } -} - - -req! { - urltest_243, - b"GET /foo/bar HTTP/1.1\r\nHost: github.com\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/foo/bar"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"github.com"); - } -} - - -req! { - urltest_244, - b"GET ietf:rfc:2648 HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "ietf:rfc:2648"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_245, - b"GET joe@example.org,2001:foo/bar HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "joe@example.org,2001:foo/bar"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_246, - b"GET /path HTTP/1.1\r\nHost: H%4fSt\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/path"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"H%4fSt"); - } -} - - -req! { - urltest_247, - b"GET https://example.com:443/ HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "https://example.com:443/"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_248, - b"GET d3958f5c-0777-0845-9dcf-2cb28783acaf HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "d3958f5c-0777-0845-9dcf-2cb28783acaf"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_249, - b"GET /test?%22 HTTP/1.1\r\nHost: example.org\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/test?%22"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"example.org"); - } -} - - -req! { - urltest_250, - b"GET /test HTTP/1.1\r\nHost: example.org\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/test"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"example.org"); - } -} - - -req! { - urltest_251, - b"GET /test?%3C HTTP/1.1\r\nHost: example.org\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/test?%3C"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"example.org"); - } -} - - -req! { - urltest_252, - b"GET /test?%3E HTTP/1.1\r\nHost: example.org\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/test?%3E"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"example.org"); - } -} - - -req! { - urltest_253, - b"GET /test?%E2%8C%A3 HTTP/1.1\r\nHost: example.org\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/test?%E2%8C%A3"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"example.org"); - } -} - - -req! { - urltest_254, - b"GET /test?%23%23 HTTP/1.1\r\nHost: example.org\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/test?%23%23"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"example.org"); - } -} - - -req! { - urltest_255, - b"GET /test?%GH HTTP/1.1\r\nHost: example.org\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/test?%GH"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"example.org"); - } -} - - -req! { - urltest_256, - b"GET /test?a HTTP/1.1\r\nHost: example.org\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/test?a"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"example.org"); - } -} - - -req! { - urltest_257, - b"GET /test?a HTTP/1.1\r\nHost: example.org\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/test?a"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"example.org"); - } -} - - -req! { - urltest_258, - b"GET /test-a-colon-slash.html HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/test-a-colon-slash.html"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_259, - b"GET /test-a-colon-slash-slash.html HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/test-a-colon-slash-slash.html"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_260, - b"GET /test-a-colon-slash-b.html HTTP/1.1\r\nHost: \r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/test-a-colon-slash-b.html"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b""); - } -} - - -req! { - urltest_261, - b"GET /test-a-colon-slash-slash-b.html HTTP/1.1\r\nHost: b\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/test-a-colon-slash-slash-b.html"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"b"); - } -} - - -req! { - urltest_262, - b"GET /test?a HTTP/1.1\r\nHost: example.org\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/test?a"); - assert_eq!(req.version.unwrap(), 1); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"example.org"); - } -} - - -req! { - urltest_nvidia, - b"GET /nvidia_web_services/controller.gfeclientcontent.php/com.nvidia.services.GFEClientContent.getShieldReady/{\"gcV\":\"2.2.2.0\",\"dID\":\"1341\",\"osC\":\"6.20\",\"is6\":\"1\",\"lg\":\"1033\",\"GFPV\":\"389.08\",\"isO\":\"1\",\"sM\":\"16777216\"} HTTP/1.0\r\nHost: gfwsl.geforce.com\r\n\r\n", - |req| { - assert_eq!(req.method.unwrap(), "GET"); - assert_eq!(req.path.unwrap(), "/nvidia_web_services/controller.gfeclientcontent.php/com.nvidia.services.GFEClientContent.getShieldReady/{\"gcV\":\"2.2.2.0\",\"dID\":\"1341\",\"osC\":\"6.20\",\"is6\":\"1\",\"lg\":\"1033\",\"GFPV\":\"389.08\",\"isO\":\"1\",\"sM\":\"16777216\"}"); - assert_eq!(req.version.unwrap(), 0); - assert_eq!(req.headers.len(), 1); - assert_eq!(req.headers[0].name, "Host"); - assert_eq!(req.headers[0].value, b"gfwsl.geforce.com"); - } -} |
