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 res = test_programs::p3::http::request(
10 Method::Get,
11 Scheme::Http,
12 "some.invalid.dnsname:3000",
13 "/",
14 None,
15 None,
16 None,
17 None,
18 None,
19 )
20 .await;
21
22 let e = res.unwrap_err();
23 assert!(
24 matches!(
25 e.downcast_ref::<ErrorCode>()
26 .expect("expected a wasi-http ErrorCode"),
27 ErrorCode::DnsError(_) | ErrorCode::ConnectionRefused,
28 ),
29 "Unexpected error: {e:#?}"
30 );
31 Ok(())
32 }
33 }
34
main()35 fn main() {}
36