Skip to main content

wasmtime_wasi_http/p3/
bindings.rs

1//! Raw bindings to the `wasi:http` package.
2
3#[expect(missing_docs, reason = "generated code")]
4mod generated {
5    wasmtime::component::bindgen!({
6        path: "src/p3/wit",
7        world: "wasi:http/service",
8        imports: {
9            "wasi:http/client.send": store | trappable | tracing,
10            "wasi:http/types.[drop]request": store | trappable | tracing,
11            "wasi:http/types.[drop]response": store | trappable | tracing,
12            "wasi:http/types.[static]request.consume-body": store | trappable | tracing,
13            "wasi:http/types.[static]request.new": store | trappable | tracing,
14            "wasi:http/types.[static]response.consume-body": store | trappable | tracing,
15            "wasi:http/types.[static]response.new": store | trappable | tracing,
16            default: trappable | tracing,
17        },
18        exports: { default: async | store },
19        with: {
20            "wasi:http/types.fields": with::Fields,
21            "wasi:http/types.request": crate::p3::Request,
22            "wasi:http/types.request-options": with::RequestOptions,
23            "wasi:http/types.response": crate::p3::Response,
24        },
25        trappable_error_type: {
26            "wasi:http/types.error-code" => crate::p3::HttpError,
27            "wasi:http/types.header-error" => crate::p3::HeaderError,
28            "wasi:http/types.request-options-error" => crate::p3::RequestOptionsError,
29        },
30        named_imports: {
31            "wasi:http/client": wasmtime_wasi::NamedId,
32            "wasi:http/types": wasmtime_wasi::NamedId,
33        },
34    });
35
36    mod with {
37        pub type Fields = crate::FieldMap;
38        pub type RequestOptions = crate::p3::MaybeMutable<crate::RequestOptions>;
39    }
40}
41
42pub use self::generated::wasi::*;
43
44/// Raw bindings to the `wasi:http/service` exports.
45pub use self::generated::exports;
46
47/// Raw bindings to `wasi:http` interfaces when used as named imports.
48pub use self::generated::named_imports;
49
50/// Bindings to the `wasi:http/service` world.
51pub use self::generated::{Service, ServiceIndices, ServicePre};