Skip to content

Commit fe05c4d

Browse files
committed
Add a test for rejecting forbidden headers
1 parent 192b047 commit fe05c4d

3 files changed

Lines changed: 24 additions & 0 deletions

File tree

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
use test_programs::wasi::http::types::{FieldsType, Headers};
2+
3+
fn main() {
4+
let hdrs = Headers::new(FieldsType::Request, &[]);
5+
assert!(hdrs
6+
.set(&"transfer-encoding".to_owned(), &[b"bad".to_vec()])
7+
.is_err());
8+
9+
assert!(hdrs
10+
.append(&"tRaNsFeR-eNcOdInG".to_owned(), &b"bad".to_vec())
11+
.is_err());
12+
}

crates/wasi-http/tests/all/async_.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,12 @@ async fn http_outbound_request_invalid_version() -> Result<()> {
4949
run(HTTP_OUTBOUND_REQUEST_INVALID_VERSION_COMPONENT, &server).await
5050
}
5151

52+
#[test_log::test(tokio::test(flavor = "multi_thread"))]
53+
async fn http_outbound_request_invalid_header() -> Result<()> {
54+
let server = Server::http2()?;
55+
run(HTTP_OUTBOUND_REQUEST_INVALID_HEADER_COMPONENT, &server).await
56+
}
57+
5258
#[test_log::test(tokio::test(flavor = "multi_thread"))]
5359
async fn http_outbound_request_unknown_method() -> Result<()> {
5460
let server = Server::http1()?;

crates/wasi-http/tests/all/sync.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,12 @@ fn http_outbound_request_invalid_version() -> Result<()> {
4848
run(HTTP_OUTBOUND_REQUEST_INVALID_VERSION_COMPONENT, &server)
4949
}
5050

51+
#[test_log::test]
52+
fn http_outbound_request_invalid_header() -> Result<()> {
53+
let server = Server::http2()?;
54+
run(HTTP_OUTBOUND_REQUEST_INVALID_HEADER_COMPONENT, &server)
55+
}
56+
5157
#[test_log::test]
5258
fn http_outbound_request_unknown_method() -> Result<()> {
5359
let server = Server::http1()?;

0 commit comments

Comments
 (0)