1 use test_programs::p3::wasi::http::types::{ErrorCode, Method, Scheme};
2
3 struct Component;
4
5 test_programs::p3::export!(Component);
6
7 impl test_programs::p3::exports::wasi::cli::run::Guest for Component {
run() -> Result<(), ()>8 async fn run() -> Result<(), ()> {
9 let addr = test_programs::p3::wasi::cli::environment::get_environment()
10 .into_iter()
11 .find_map(|(k, v)| k.eq("HTTP_SERVER").then_some(v))
12 .unwrap();
13 let res = test_programs::p3::http::request(
14 Method::Connect,
15 Scheme::Http,
16 &addr,
17 "/",
18 None,
19 Some(&[]),
20 None,
21 None,
22 None,
23 )
24 .await;
25
26 assert!(matches!(
27 res.unwrap_err()
28 .downcast::<ErrorCode>()
29 .expect("expected a wasi-http ErrorCode"),
30 ErrorCode::HttpProtocolError,
31 ));
32 Ok(())
33 }
34 }
35
main()36 fn main() {}
37