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 { 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 36 fn main() {} 37