1 pub mod http;
2 pub mod sockets;
3 
4 wit_bindgen::generate!({
5     inline: "
6         package wasmtime:test;
7 
8         world testp3 {
9             include wasi:cli/imports@0.3.0-rc-2026-03-15;
10             include wasi:tls/imports@0.3.0-draft;
11             import wasi:http/types@0.3.0-rc-2026-03-15;
12             import wasi:http/client@0.3.0-rc-2026-03-15;
13             import wasi:http/handler@0.3.0-rc-2026-03-15;
14 
15             export wasi:cli/run@0.3.0-rc-2026-03-15;
16         }
17     ",
18     path: [
19         "../wasi-http/src/p3/wit",
20         "../wasi-tls/src/p3/wit",
21     ],
22     world: "wasmtime:test/testp3",
23     default_bindings_module: "test_programs::p3",
24     pub_export_macro: true,
25     generate_all,
26 });
27 
28 pub mod service {
29     wit_bindgen::generate!({
30         path: "../wasi-http/src/p3/wit",
31         world: "wasi:http/service",
32         default_bindings_module: "test_programs::p3::service",
33         pub_export_macro: true,
34         with: {
35             "wasi:http/handler@0.3.0-rc-2026-03-15": crate::p3::wasi::http::handler,
36             "wasi:http/types@0.3.0-rc-2026-03-15": crate::p3::wasi::http::types,
37             "wasi:http/client@0.3.0-rc-2026-03-15": crate::p3::wasi::http::client,
38             "wasi:random/random@0.3.0-rc-2026-03-15": crate::p3::wasi::random::random,
39             "wasi:random/insecure@0.3.0-rc-2026-03-15": crate::p3::wasi::random::insecure,
40             "wasi:random/insecure-seed@0.3.0-rc-2026-03-15": crate::p3::wasi::random::insecure_seed,
41             "wasi:cli/stdout@0.3.0-rc-2026-03-15": crate::p3::wasi::cli::stdout,
42             "wasi:cli/stderr@0.3.0-rc-2026-03-15": crate::p3::wasi::cli::stderr,
43             "wasi:cli/stdin@0.3.0-rc-2026-03-15": crate::p3::wasi::cli::stdin,
44             "wasi:cli/types@0.3.0-rc-2026-03-15": crate::p3::wasi::cli::types,
45             "wasi:clocks/monotonic-clock@0.3.0-rc-2026-03-15": crate::p3::wasi::clocks::monotonic_clock,
46             "wasi:clocks/system-clock@0.3.0-rc-2026-03-15": crate::p3::wasi::clocks::system_clock,
47             "wasi:clocks/types@0.3.0-rc-2026-03-15": crate::p3::wasi::clocks::types,
48         },
49     });
50 }
51 
52 impl std::fmt::Display for wasi::tls::types::Error {
fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result53     fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
54         f.write_str(&self.to_debug_string())
55     }
56 }
57 
58 impl std::error::Error for wasi::tls::types::Error {}
59