diff --git a/.gitattributes b/.gitattributes
deleted file mode 100644
index 9d7d2f9..0000000
--- a/.gitattributes
+++ /dev/null
@@ -1,2 +0,0 @@
-imports/** linguist-generated=true
-exports/** linguist-generated=true
\ No newline at end of file
diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml
index cdcc5d8..012bd69 100644
--- a/.github/workflows/checks.yml
+++ b/.github/workflows/checks.yml
@@ -23,4 +23,5 @@ jobs:
version: v2.13.2
install-only: true
github-token: ${{ secrets.GITHUB_TOKEN }}
+ - run: just ensure_no_componentize_go_toml
- run: just lint
diff --git a/.golangci.yml b/.golangci.yml
deleted file mode 100644
index 87137e8..0000000
--- a/.golangci.yml
+++ /dev/null
@@ -1,8 +0,0 @@
-version: "2"
-
-linters:
- exclusions:
- # The wit-bindgen header ("Generated by `wit-bindgen` ... DO NOT EDIT!")
- # doesn't match the strict Go convention regex, so use the lenient
- # heuristic to skip the generated bindings in imports/ and exports/.
- generated: lenient
diff --git a/Justfile b/Justfile
index 9f3b205..2bedc76 100644
--- a/Justfile
+++ b/Justfile
@@ -7,3 +7,7 @@
echo "Lint..."
command -v golangci-lint >/dev/null 2>&1 || { echo "golangci-lint is not installed or in PATH"; exit 1; }
GOARCH=wasm GOOS=wasip1 golangci-lint run
+
+[doc('Validates that a componentize-go.toml file is NOT present in the root of the repo, as it causes issues with some of the defaults in componentize-go')]
+@ensure_no_componentize_go_toml:
+ test ! -e componentize-go.toml || { echo "componentize-go.toml must not exist"; exit 1; }
diff --git a/README.md b/README.md
index 8877167..9a5936c 100644
--- a/README.md
+++ b/README.md
@@ -15,110 +15,13 @@
# Overview
-Module `go.bytecodealliance.org/pkg` is the Go library for Wasm components. It adapts standard-library interfaces (`net/http`, `log/slog`) to standard `wasi:*` interfaces and ships the committed bindings and WIT worlds needed to build HTTP components with [componentize-go](https://github.com/bytecodealliance/componentize-go). The use of this package significantly reduces the number of files generated and committed for a typical go application.
-
-The library targets two worlds defined in [`wit/world.wit`](./wit/world.wit):
-
-- **`bytecodealliance:pkg/wasip2`** (default): a sync WASI P2 component exporting `wasi:http/incoming-handler@0.2.8`, buildable with stock Go.
-- **`bytecodealliance:pkg/wasip3`** (opt-in): an async WASI P3 component exporting `wasi:http/handler@0.3.0` with streaming bodies and native concurrency.
+Module `go.bytecodealliance.org/pkg` contains packages required for building components with [componentize-go](https://github.com/bytecodealliance/componentize-go).
## Packages
| Package | Description |
| --- | --- |
-| `wasihttp` | `net/http` adapter for `wasi:http`: serve incoming requests with a standard `http.Handler` and send outbound requests through an `http.RoundTripper`. One API, two implementations selected by build tag (see below). |
-| `wasilog` | `slog.Handler` implementation over `wasi:logging`. |
-| `wasiconfig` | Helpers over `wasi:config/store`. |
| `wit/types`, `wit/runtime`, `wit/async` | Core WIT value types (option, result, tuple, stream, future) and the canonical-ABI runtime support used by generated bindings. |
-| `imports/...` | Committed generated bindings for the `wasi:*` interfaces imported by the two worlds (both the 0.2.8 and 0.3.0 families). |
-| `exports/...` | Per-world generated `//go:wasmexport` glue and export trampolines. |
-
-Bindings under `imports/` and `exports/` are generated by
-[`regenerate_bindings.sh`](./regenerate_bindings.sh) — do not edit them.
-
-## Updating WIT dependencies
-
-The `wasi:*` WIT packages under `wit/deps/` are vendored verbatim from the WebAssembly package registry using [wkg](https://github.com/bytecodealliance/wasm-pkg-tools). To update a dependency:
-
-1. Bump its version in [`fetch_wit_deps.sh`](./fetch_wit_deps.sh) and in
- [`wit/world.wit`](./wit/world.wit).
-2. Re-fetch the vendored WIT:
-
- ```console
- $ ./fetch_wit_deps.sh
- ```
-
-3. Regenerate the committed bindings and commit everything together:
-
- ```console
- $ ./regenerate_bindings.sh
- ```
-
-> **Note**: the script uses `wkg get` with exact versions rather than
-> `wkg wit fetch` because the library intentionally depends on two versions
-> of several packages (e.g. `wasi:http@0.2.8` and `wasi:http@0.3.0`), and
-> `wkg wit fetch` resolves at most one version per package name.
-
-## The `componentizego_async` build tag
-
-`wasihttp` compiles to one of two implementations; the exported API is identical under both:
-
-- **Default (no tag)**: sync WASI P2 (`wasi:http@0.2.8`). Matches the `bytecodealliance:pkg/wasip2` world.
-- **`-tags componentizego_async`**: async WASI P3 (`wasi:http@0.3.0`) with streaming bodies and native concurrency. Matches the `bytecodealliance:pkg/wasip3` world.
-
-componentize-go sets the tag automatically when building an async world.
-
-## Quickstart
-
-```go
-package main
-
-import (
- "net/http"
-
- "go.bytecodealliance.org/pkg/wasihttp"
-)
-
-func init() {
- wasihttp.HandleFunc(func(w http.ResponseWriter, r *http.Request) {
- w.Write([]byte("Hello, component!"))
- })
-}
-
-func main() {}
-```
-
-Add componentize-go as a Go tool and build:
-
-```console
-$ go get -tool github.com/bytecodealliance/componentize-go
-$ go tool componentize-go build
-```
-
-The default world (`bytecodealliance:pkg/wasip2@0.1.0`) is declared in [`componentize-go.toml`](./componentize-go.toml) and discovered automatically. To build the async WASI P3 world instead:
-
-```console
-$ go tool componentize-go -w bytecodealliance:pkg/wasip3 build
-```
-
-## Benchmarks
-
-Pure-Go conversion logic (header conversion and friends) has microbenchmarks that run on the host:
-
-```console
-$ go test -bench=. -benchmem ./...
-```
-
-Packages that call `wasi:*` imports only link on wasm targets, so the benchmarks live in host-compilable packages (e.g. `internal/httpconv`).
-
-For A/B comparisons use [benchstat](https://pkg.go.dev/golang.org/x/perf/cmd/benchstat): collect ≥10 samples per side with the test filter disabled, then compare:
-
-```console
-$ go test -bench=. -benchmem -count=10 -run='^$' ./... > old.txt
-$ # ... apply your change ...
-$ go test -bench=. -benchmem -count=10 -run='^$' ./... > new.txt
-$ benchstat old.txt new.txt
-```
## Questions?
diff --git a/componentize-go.toml b/componentize-go.toml
deleted file mode 100644
index dffafd5..0000000
--- a/componentize-go.toml
+++ /dev/null
@@ -1,9 +0,0 @@
-# Default world for components built against this library. componentize-go
-# discovers this file via `go list -m all`, so `go tool componentize-go
-# build` needs no flags in consuming apps.
-#
-# The default is the sync WASI P2 world, which builds with stock Go. To
-# target the async WASI P3 world instead, build with:
-# componentize-go -w bytecodealliance:pkg/wasip3 build
-worlds = ["bytecodealliance:pkg/wasip2@0.1.0"]
-wit_paths = ["wit"]
diff --git a/docs/wasi.html b/docs/wasi.html
new file mode 100644
index 0000000..6254972
--- /dev/null
+++ b/docs/wasi.html
@@ -0,0 +1,10 @@
+
+
+ go.bytecodealliance.org/wasi
+
+
+
+
+ Redirecting to documentation…
+
+
diff --git a/exports/bytecodealliance_pkg_wasip2_0_1_0/export_wasi_http_0_2_8_incoming_handler/handler.go b/exports/bytecodealliance_pkg_wasip2_0_1_0/export_wasi_http_0_2_8_incoming_handler/handler.go
deleted file mode 100644
index 1ed1b0e..0000000
--- a/exports/bytecodealliance_pkg_wasip2_0_1_0/export_wasi_http_0_2_8_incoming_handler/handler.go
+++ /dev/null
@@ -1,17 +0,0 @@
-// Package export_wasi_http_0_2_8_incoming_handler is the export trampoline
-// for the sync `wasip2` world's `wasi:http/incoming-handler@0.2.8` export.
-// The generated wit_exports glue calls Handle; the library's wasihttp
-// package assigns Exports.Handle at init time.
-package export_wasi_http_0_2_8_incoming_handler
-
-import (
- "go.bytecodealliance.org/pkg/imports/wasi_http_0_2_8_types"
-)
-
-var Exports struct {
- Handle func(request *wasi_http_0_2_8_types.IncomingRequest, responseOut *wasi_http_0_2_8_types.ResponseOutparam)
-}
-
-func Handle(request *wasi_http_0_2_8_types.IncomingRequest, responseOut *wasi_http_0_2_8_types.ResponseOutparam) {
- Exports.Handle(request, responseOut)
-}
diff --git a/exports/bytecodealliance_pkg_wasip2_0_1_0/wit_exports/empty.s b/exports/bytecodealliance_pkg_wasip2_0_1_0/wit_exports/empty.s
deleted file mode 100644
index 5444f20..0000000
--- a/exports/bytecodealliance_pkg_wasip2_0_1_0/wit_exports/empty.s
+++ /dev/null
@@ -1,3 +0,0 @@
-// This file exists for testing this package without WebAssembly,
-// allowing empty function bodies with a //go:wasmimport directive.
-// See https://pkg.go.dev/cmd/compile for more information.
diff --git a/exports/bytecodealliance_pkg_wasip2_0_1_0/wit_exports/wit_exports.go b/exports/bytecodealliance_pkg_wasip2_0_1_0/wit_exports/wit_exports.go
deleted file mode 100644
index b8827e2..0000000
--- a/exports/bytecodealliance_pkg_wasip2_0_1_0/wit_exports/wit_exports.go
+++ /dev/null
@@ -1,39 +0,0 @@
-// Generated by `wit-bindgen` 0.62.0. DO NOT EDIT!
-//
-// This code was generated from the following packages:
-// wasi:io@0.2.8
-// wasi:clocks@0.2.8
-// wasi:filesystem@0.2.8
-// wasi:sockets@0.2.8
-// wasi:random@0.2.8
-// wasi:cli@0.2.8
-// wasi:config@0.2.0-rc.1
-// wasi:logging@0.1.0-draft
-// wasi:http@0.2.8
-// wasi:clocks@0.3.0
-// wasi:filesystem@0.3.0
-// wasi:sockets@0.3.0
-// wasi:random@0.3.0
-// wasi:cli@0.3.0
-// wasi:http@0.3.0
-// bytecodealliance:pkg@0.1.0
-
-package wit_exports
-
-import (
- "go.bytecodealliance.org/pkg/exports/bytecodealliance_pkg_wasip2_0_1_0/export_wasi_http_0_2_8_incoming_handler"
- "go.bytecodealliance.org/pkg/imports/wasi_http_0_2_8_types"
- witRuntime "go.bytecodealliance.org/pkg/wit/runtime"
- "runtime"
-)
-
-var staticPinner = runtime.Pinner{}
-var exportReturnArea = uintptr(witRuntime.Allocate(&staticPinner, 0, 1))
-var syncExportPinner = runtime.Pinner{}
-
-//go:wasmexport wasi:http/incoming-handler@0.2.8#handle
-func wasm_export_wasi_http_0_2_8_incoming_handler_handle(arg0 int32, arg1 int32) {
-
- export_wasi_http_0_2_8_incoming_handler.Handle(wasi_http_0_2_8_types.IncomingRequestFromOwnHandle(int32(uintptr(arg0))), wasi_http_0_2_8_types.ResponseOutparamFromOwnHandle(int32(uintptr(arg1))))
-
-}
diff --git a/exports/bytecodealliance_pkg_wasip3_0_1_0/export_wasi_http_0_3_0_handler/handler.go b/exports/bytecodealliance_pkg_wasip3_0_1_0/export_wasi_http_0_3_0_handler/handler.go
deleted file mode 100644
index 9aa4708..0000000
--- a/exports/bytecodealliance_pkg_wasip3_0_1_0/export_wasi_http_0_3_0_handler/handler.go
+++ /dev/null
@@ -1,18 +0,0 @@
-// Package export_wasi_http_0_3_0_handler is the export trampoline for the
-// async `wasip3` world's `wasi:http/handler@0.3.0` export. The generated
-// wit_exports glue calls Handle; the library's wasihttp package assigns
-// Exports.Handle at init time.
-package export_wasi_http_0_3_0_handler
-
-import (
- "go.bytecodealliance.org/pkg/imports/wasi_http_0_3_0_types"
- witTypes "go.bytecodealliance.org/pkg/wit/types"
-)
-
-var Exports struct {
- Handle func(request *wasi_http_0_3_0_types.Request) witTypes.Result[*wasi_http_0_3_0_types.Response, wasi_http_0_3_0_types.ErrorCode]
-}
-
-func Handle(request *wasi_http_0_3_0_types.Request) witTypes.Result[*wasi_http_0_3_0_types.Response, wasi_http_0_3_0_types.ErrorCode] {
- return Exports.Handle(request)
-}
diff --git a/exports/bytecodealliance_pkg_wasip3_0_1_0/wit_exports/empty.s b/exports/bytecodealliance_pkg_wasip3_0_1_0/wit_exports/empty.s
deleted file mode 100644
index 5444f20..0000000
--- a/exports/bytecodealliance_pkg_wasip3_0_1_0/wit_exports/empty.s
+++ /dev/null
@@ -1,3 +0,0 @@
-// This file exists for testing this package without WebAssembly,
-// allowing empty function bodies with a //go:wasmimport directive.
-// See https://pkg.go.dev/cmd/compile for more information.
diff --git a/exports/bytecodealliance_pkg_wasip3_0_1_0/wit_exports/wit_exports.go b/exports/bytecodealliance_pkg_wasip3_0_1_0/wit_exports/wit_exports.go
deleted file mode 100644
index 6ecd44f..0000000
--- a/exports/bytecodealliance_pkg_wasip3_0_1_0/wit_exports/wit_exports.go
+++ /dev/null
@@ -1,891 +0,0 @@
-// Generated by `wit-bindgen` 0.62.0. DO NOT EDIT!
-//
-// This code was generated from the following packages:
-// wasi:io@0.2.8
-// wasi:clocks@0.2.8
-// wasi:filesystem@0.2.8
-// wasi:sockets@0.2.8
-// wasi:random@0.2.8
-// wasi:cli@0.2.8
-// wasi:config@0.2.0-rc.1
-// wasi:logging@0.1.0-draft
-// wasi:http@0.2.8
-// wasi:clocks@0.3.0
-// wasi:filesystem@0.3.0
-// wasi:sockets@0.3.0
-// wasi:random@0.3.0
-// wasi:cli@0.3.0
-// wasi:http@0.3.0
-// bytecodealliance:pkg@0.1.0
-
-package wit_exports
-
-import (
- "go.bytecodealliance.org/pkg/exports/bytecodealliance_pkg_wasip3_0_1_0/export_wasi_http_0_3_0_handler"
- "go.bytecodealliance.org/pkg/imports/wasi_http_0_3_0_types"
- witAsync "go.bytecodealliance.org/pkg/wit/async"
- witRuntime "go.bytecodealliance.org/pkg/wit/runtime"
- witTypes "go.bytecodealliance.org/pkg/wit/types"
- "runtime"
- "unsafe"
-)
-
-var staticPinner = runtime.Pinner{}
-var exportReturnArea = uintptr(witRuntime.Allocate(&staticPinner, 0, 1))
-var syncExportPinner = runtime.Pinner{}
-
-//go:wasmexport [async-lift]wasi:http/handler@0.3.0#handle
-func wasm_export_wasi_http_0_3_0_handler_handle(arg0 int32) int32 {
- return int32(witAsync.Run(func() {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
- result := export_wasi_http_0_3_0_handler.Handle(wasi_http_0_3_0_types.RequestFromOwnHandle(int32(uintptr(arg0))))
- var option70 int32
- var option71 int32
- var option72 int32
- var option73 int64
- var option74 uintptr
- var option75 uintptr
- var option76 uint32
- var option77 int32
- switch result.Tag() {
- case witTypes.ResultOk:
- payload := result.Ok()
-
- option70 = int32(0)
- option71 = (payload).TakeHandle()
- option72 = 0
- option73 = 0
- option74 = 0
- option75 = 0
- option76 = 0
- option77 = 0
- case witTypes.ResultErr:
- payload := result.Err()
- var variant int32
- var variant64 int32
- var variant65 int64
- var variant66 uintptr
- var variant67 uintptr
- var variant68 uint32
- var variant69 int32
- switch payload.Tag() {
- case wasi_http_0_3_0_types.ErrorCode_DnsTimeout:
-
- variant = int32(0)
- variant64 = 0
- variant65 = 0
- variant66 = 0
- variant67 = 0
- variant68 = 0
- variant69 = 0
-
- case wasi_http_0_3_0_types.ErrorCode_DnsError:
- payload := payload.DnsError()
- var option int32
- var option0 uintptr
- var option1 uint32
- switch (payload).Rcode.Tag() {
- case witTypes.OptionNone:
-
- option = int32(0)
- option0 = 0
- option1 = 0
- case witTypes.OptionSome:
- payload := (payload).Rcode.Some()
- utf8 := unsafe.Pointer(unsafe.StringData(payload))
- pinner.Pin(utf8)
-
- option = int32(1)
- option0 = uintptr(utf8)
- option1 = uint32(len(payload))
- default:
- panic("unreachable")
- }
- var option2 int32
- var option3 int32
- switch (payload).InfoCode.Tag() {
- case witTypes.OptionNone:
-
- option2 = int32(0)
- option3 = 0
- case witTypes.OptionSome:
- payload := (payload).InfoCode.Some()
-
- option2 = int32(1)
- option3 = int32(payload)
- default:
- panic("unreachable")
- }
-
- variant = int32(1)
- variant64 = option
- variant65 = int64(option0)
- variant66 = uintptr(option1)
- variant67 = uintptr(option2)
- variant68 = uint32(option3)
- variant69 = 0
-
- case wasi_http_0_3_0_types.ErrorCode_DestinationNotFound:
-
- variant = int32(2)
- variant64 = 0
- variant65 = 0
- variant66 = 0
- variant67 = 0
- variant68 = 0
- variant69 = 0
-
- case wasi_http_0_3_0_types.ErrorCode_DestinationUnavailable:
-
- variant = int32(3)
- variant64 = 0
- variant65 = 0
- variant66 = 0
- variant67 = 0
- variant68 = 0
- variant69 = 0
-
- case wasi_http_0_3_0_types.ErrorCode_DestinationIpProhibited:
-
- variant = int32(4)
- variant64 = 0
- variant65 = 0
- variant66 = 0
- variant67 = 0
- variant68 = 0
- variant69 = 0
-
- case wasi_http_0_3_0_types.ErrorCode_DestinationIpUnroutable:
-
- variant = int32(5)
- variant64 = 0
- variant65 = 0
- variant66 = 0
- variant67 = 0
- variant68 = 0
- variant69 = 0
-
- case wasi_http_0_3_0_types.ErrorCode_ConnectionRefused:
-
- variant = int32(6)
- variant64 = 0
- variant65 = 0
- variant66 = 0
- variant67 = 0
- variant68 = 0
- variant69 = 0
-
- case wasi_http_0_3_0_types.ErrorCode_ConnectionTerminated:
-
- variant = int32(7)
- variant64 = 0
- variant65 = 0
- variant66 = 0
- variant67 = 0
- variant68 = 0
- variant69 = 0
-
- case wasi_http_0_3_0_types.ErrorCode_ConnectionTimeout:
-
- variant = int32(8)
- variant64 = 0
- variant65 = 0
- variant66 = 0
- variant67 = 0
- variant68 = 0
- variant69 = 0
-
- case wasi_http_0_3_0_types.ErrorCode_ConnectionReadTimeout:
-
- variant = int32(9)
- variant64 = 0
- variant65 = 0
- variant66 = 0
- variant67 = 0
- variant68 = 0
- variant69 = 0
-
- case wasi_http_0_3_0_types.ErrorCode_ConnectionWriteTimeout:
-
- variant = int32(10)
- variant64 = 0
- variant65 = 0
- variant66 = 0
- variant67 = 0
- variant68 = 0
- variant69 = 0
-
- case wasi_http_0_3_0_types.ErrorCode_ConnectionLimitReached:
-
- variant = int32(11)
- variant64 = 0
- variant65 = 0
- variant66 = 0
- variant67 = 0
- variant68 = 0
- variant69 = 0
-
- case wasi_http_0_3_0_types.ErrorCode_TlsProtocolError:
-
- variant = int32(12)
- variant64 = 0
- variant65 = 0
- variant66 = 0
- variant67 = 0
- variant68 = 0
- variant69 = 0
-
- case wasi_http_0_3_0_types.ErrorCode_TlsCertificateError:
-
- variant = int32(13)
- variant64 = 0
- variant65 = 0
- variant66 = 0
- variant67 = 0
- variant68 = 0
- variant69 = 0
-
- case wasi_http_0_3_0_types.ErrorCode_TlsAlertReceived:
- payload := payload.TlsAlertReceived()
- var option4 int32
- var option5 int32
- switch (payload).AlertId.Tag() {
- case witTypes.OptionNone:
-
- option4 = int32(0)
- option5 = 0
- case witTypes.OptionSome:
- payload := (payload).AlertId.Some()
-
- option4 = int32(1)
- option5 = int32(payload)
- default:
- panic("unreachable")
- }
- var option7 int32
- var option8 uintptr
- var option9 uint32
- switch (payload).AlertMessage.Tag() {
- case witTypes.OptionNone:
-
- option7 = int32(0)
- option8 = 0
- option9 = 0
- case witTypes.OptionSome:
- payload := (payload).AlertMessage.Some()
- utf86 := unsafe.Pointer(unsafe.StringData(payload))
- pinner.Pin(utf86)
-
- option7 = int32(1)
- option8 = uintptr(utf86)
- option9 = uint32(len(payload))
- default:
- panic("unreachable")
- }
-
- variant = int32(14)
- variant64 = option4
- variant65 = int64(option5)
- variant66 = uintptr(option7)
- variant67 = option8
- variant68 = option9
- variant69 = 0
-
- case wasi_http_0_3_0_types.ErrorCode_HttpRequestDenied:
-
- variant = int32(15)
- variant64 = 0
- variant65 = 0
- variant66 = 0
- variant67 = 0
- variant68 = 0
- variant69 = 0
-
- case wasi_http_0_3_0_types.ErrorCode_HttpRequestLengthRequired:
-
- variant = int32(16)
- variant64 = 0
- variant65 = 0
- variant66 = 0
- variant67 = 0
- variant68 = 0
- variant69 = 0
-
- case wasi_http_0_3_0_types.ErrorCode_HttpRequestBodySize:
- payload := payload.HttpRequestBodySize()
- var option10 int32
- var option11 int64
- switch payload.Tag() {
- case witTypes.OptionNone:
-
- option10 = int32(0)
- option11 = 0
- case witTypes.OptionSome:
- payload := payload.Some()
-
- option10 = int32(1)
- option11 = int64(payload)
- default:
- panic("unreachable")
- }
-
- variant = int32(17)
- variant64 = option10
- variant65 = option11
- variant66 = 0
- variant67 = 0
- variant68 = 0
- variant69 = 0
-
- case wasi_http_0_3_0_types.ErrorCode_HttpRequestMethodInvalid:
-
- variant = int32(18)
- variant64 = 0
- variant65 = 0
- variant66 = 0
- variant67 = 0
- variant68 = 0
- variant69 = 0
-
- case wasi_http_0_3_0_types.ErrorCode_HttpRequestUriInvalid:
-
- variant = int32(19)
- variant64 = 0
- variant65 = 0
- variant66 = 0
- variant67 = 0
- variant68 = 0
- variant69 = 0
-
- case wasi_http_0_3_0_types.ErrorCode_HttpRequestUriTooLong:
-
- variant = int32(20)
- variant64 = 0
- variant65 = 0
- variant66 = 0
- variant67 = 0
- variant68 = 0
- variant69 = 0
-
- case wasi_http_0_3_0_types.ErrorCode_HttpRequestHeaderSectionSize:
- payload := payload.HttpRequestHeaderSectionSize()
- var option12 int32
- var option13 int32
- switch payload.Tag() {
- case witTypes.OptionNone:
-
- option12 = int32(0)
- option13 = 0
- case witTypes.OptionSome:
- payload := payload.Some()
-
- option12 = int32(1)
- option13 = int32(payload)
- default:
- panic("unreachable")
- }
-
- variant = int32(21)
- variant64 = option12
- variant65 = int64(option13)
- variant66 = 0
- variant67 = 0
- variant68 = 0
- variant69 = 0
-
- case wasi_http_0_3_0_types.ErrorCode_HttpRequestHeaderSize:
- payload := payload.HttpRequestHeaderSize()
- var option20 int32
- var option21 int32
- var option22 uintptr
- var option23 uint32
- var option24 int32
- var option25 int32
- switch payload.Tag() {
- case witTypes.OptionNone:
-
- option20 = int32(0)
- option21 = 0
- option22 = 0
- option23 = 0
- option24 = 0
- option25 = 0
- case witTypes.OptionSome:
- payload := payload.Some()
- var option15 int32
- var option16 uintptr
- var option17 uint32
- switch (payload).FieldName.Tag() {
- case witTypes.OptionNone:
-
- option15 = int32(0)
- option16 = 0
- option17 = 0
- case witTypes.OptionSome:
- payload := (payload).FieldName.Some()
- utf814 := unsafe.Pointer(unsafe.StringData(payload))
- pinner.Pin(utf814)
-
- option15 = int32(1)
- option16 = uintptr(utf814)
- option17 = uint32(len(payload))
- default:
- panic("unreachable")
- }
- var option18 int32
- var option19 int32
- switch (payload).FieldSize.Tag() {
- case witTypes.OptionNone:
-
- option18 = int32(0)
- option19 = 0
- case witTypes.OptionSome:
- payload := (payload).FieldSize.Some()
-
- option18 = int32(1)
- option19 = int32(payload)
- default:
- panic("unreachable")
- }
-
- option20 = int32(1)
- option21 = option15
- option22 = option16
- option23 = option17
- option24 = option18
- option25 = option19
- default:
- panic("unreachable")
- }
-
- variant = int32(22)
- variant64 = option20
- variant65 = int64(option21)
- variant66 = option22
- variant67 = uintptr(option23)
- variant68 = uint32(option24)
- variant69 = option25
-
- case wasi_http_0_3_0_types.ErrorCode_HttpRequestTrailerSectionSize:
- payload := payload.HttpRequestTrailerSectionSize()
- var option26 int32
- var option27 int32
- switch payload.Tag() {
- case witTypes.OptionNone:
-
- option26 = int32(0)
- option27 = 0
- case witTypes.OptionSome:
- payload := payload.Some()
-
- option26 = int32(1)
- option27 = int32(payload)
- default:
- panic("unreachable")
- }
-
- variant = int32(23)
- variant64 = option26
- variant65 = int64(option27)
- variant66 = 0
- variant67 = 0
- variant68 = 0
- variant69 = 0
-
- case wasi_http_0_3_0_types.ErrorCode_HttpRequestTrailerSize:
- payload := payload.HttpRequestTrailerSize()
- var option29 int32
- var option30 uintptr
- var option31 uint32
- switch (payload).FieldName.Tag() {
- case witTypes.OptionNone:
-
- option29 = int32(0)
- option30 = 0
- option31 = 0
- case witTypes.OptionSome:
- payload := (payload).FieldName.Some()
- utf828 := unsafe.Pointer(unsafe.StringData(payload))
- pinner.Pin(utf828)
-
- option29 = int32(1)
- option30 = uintptr(utf828)
- option31 = uint32(len(payload))
- default:
- panic("unreachable")
- }
- var option32 int32
- var option33 int32
- switch (payload).FieldSize.Tag() {
- case witTypes.OptionNone:
-
- option32 = int32(0)
- option33 = 0
- case witTypes.OptionSome:
- payload := (payload).FieldSize.Some()
-
- option32 = int32(1)
- option33 = int32(payload)
- default:
- panic("unreachable")
- }
-
- variant = int32(24)
- variant64 = option29
- variant65 = int64(option30)
- variant66 = uintptr(option31)
- variant67 = uintptr(option32)
- variant68 = uint32(option33)
- variant69 = 0
-
- case wasi_http_0_3_0_types.ErrorCode_HttpResponseIncomplete:
-
- variant = int32(25)
- variant64 = 0
- variant65 = 0
- variant66 = 0
- variant67 = 0
- variant68 = 0
- variant69 = 0
-
- case wasi_http_0_3_0_types.ErrorCode_HttpResponseHeaderSectionSize:
- payload := payload.HttpResponseHeaderSectionSize()
- var option34 int32
- var option35 int32
- switch payload.Tag() {
- case witTypes.OptionNone:
-
- option34 = int32(0)
- option35 = 0
- case witTypes.OptionSome:
- payload := payload.Some()
-
- option34 = int32(1)
- option35 = int32(payload)
- default:
- panic("unreachable")
- }
-
- variant = int32(26)
- variant64 = option34
- variant65 = int64(option35)
- variant66 = 0
- variant67 = 0
- variant68 = 0
- variant69 = 0
-
- case wasi_http_0_3_0_types.ErrorCode_HttpResponseHeaderSize:
- payload := payload.HttpResponseHeaderSize()
- var option37 int32
- var option38 uintptr
- var option39 uint32
- switch (payload).FieldName.Tag() {
- case witTypes.OptionNone:
-
- option37 = int32(0)
- option38 = 0
- option39 = 0
- case witTypes.OptionSome:
- payload := (payload).FieldName.Some()
- utf836 := unsafe.Pointer(unsafe.StringData(payload))
- pinner.Pin(utf836)
-
- option37 = int32(1)
- option38 = uintptr(utf836)
- option39 = uint32(len(payload))
- default:
- panic("unreachable")
- }
- var option40 int32
- var option41 int32
- switch (payload).FieldSize.Tag() {
- case witTypes.OptionNone:
-
- option40 = int32(0)
- option41 = 0
- case witTypes.OptionSome:
- payload := (payload).FieldSize.Some()
-
- option40 = int32(1)
- option41 = int32(payload)
- default:
- panic("unreachable")
- }
-
- variant = int32(27)
- variant64 = option37
- variant65 = int64(option38)
- variant66 = uintptr(option39)
- variant67 = uintptr(option40)
- variant68 = uint32(option41)
- variant69 = 0
-
- case wasi_http_0_3_0_types.ErrorCode_HttpResponseBodySize:
- payload := payload.HttpResponseBodySize()
- var option42 int32
- var option43 int64
- switch payload.Tag() {
- case witTypes.OptionNone:
-
- option42 = int32(0)
- option43 = 0
- case witTypes.OptionSome:
- payload := payload.Some()
-
- option42 = int32(1)
- option43 = int64(payload)
- default:
- panic("unreachable")
- }
-
- variant = int32(28)
- variant64 = option42
- variant65 = option43
- variant66 = 0
- variant67 = 0
- variant68 = 0
- variant69 = 0
-
- case wasi_http_0_3_0_types.ErrorCode_HttpResponseTrailerSectionSize:
- payload := payload.HttpResponseTrailerSectionSize()
- var option44 int32
- var option45 int32
- switch payload.Tag() {
- case witTypes.OptionNone:
-
- option44 = int32(0)
- option45 = 0
- case witTypes.OptionSome:
- payload := payload.Some()
-
- option44 = int32(1)
- option45 = int32(payload)
- default:
- panic("unreachable")
- }
-
- variant = int32(29)
- variant64 = option44
- variant65 = int64(option45)
- variant66 = 0
- variant67 = 0
- variant68 = 0
- variant69 = 0
-
- case wasi_http_0_3_0_types.ErrorCode_HttpResponseTrailerSize:
- payload := payload.HttpResponseTrailerSize()
- var option47 int32
- var option48 uintptr
- var option49 uint32
- switch (payload).FieldName.Tag() {
- case witTypes.OptionNone:
-
- option47 = int32(0)
- option48 = 0
- option49 = 0
- case witTypes.OptionSome:
- payload := (payload).FieldName.Some()
- utf846 := unsafe.Pointer(unsafe.StringData(payload))
- pinner.Pin(utf846)
-
- option47 = int32(1)
- option48 = uintptr(utf846)
- option49 = uint32(len(payload))
- default:
- panic("unreachable")
- }
- var option50 int32
- var option51 int32
- switch (payload).FieldSize.Tag() {
- case witTypes.OptionNone:
-
- option50 = int32(0)
- option51 = 0
- case witTypes.OptionSome:
- payload := (payload).FieldSize.Some()
-
- option50 = int32(1)
- option51 = int32(payload)
- default:
- panic("unreachable")
- }
-
- variant = int32(30)
- variant64 = option47
- variant65 = int64(option48)
- variant66 = uintptr(option49)
- variant67 = uintptr(option50)
- variant68 = uint32(option51)
- variant69 = 0
-
- case wasi_http_0_3_0_types.ErrorCode_HttpResponseTransferCoding:
- payload := payload.HttpResponseTransferCoding()
- var option53 int32
- var option54 uintptr
- var option55 uint32
- switch payload.Tag() {
- case witTypes.OptionNone:
-
- option53 = int32(0)
- option54 = 0
- option55 = 0
- case witTypes.OptionSome:
- payload := payload.Some()
- utf852 := unsafe.Pointer(unsafe.StringData(payload))
- pinner.Pin(utf852)
-
- option53 = int32(1)
- option54 = uintptr(utf852)
- option55 = uint32(len(payload))
- default:
- panic("unreachable")
- }
-
- variant = int32(31)
- variant64 = option53
- variant65 = int64(option54)
- variant66 = uintptr(option55)
- variant67 = 0
- variant68 = 0
- variant69 = 0
-
- case wasi_http_0_3_0_types.ErrorCode_HttpResponseContentCoding:
- payload := payload.HttpResponseContentCoding()
- var option57 int32
- var option58 uintptr
- var option59 uint32
- switch payload.Tag() {
- case witTypes.OptionNone:
-
- option57 = int32(0)
- option58 = 0
- option59 = 0
- case witTypes.OptionSome:
- payload := payload.Some()
- utf856 := unsafe.Pointer(unsafe.StringData(payload))
- pinner.Pin(utf856)
-
- option57 = int32(1)
- option58 = uintptr(utf856)
- option59 = uint32(len(payload))
- default:
- panic("unreachable")
- }
-
- variant = int32(32)
- variant64 = option57
- variant65 = int64(option58)
- variant66 = uintptr(option59)
- variant67 = 0
- variant68 = 0
- variant69 = 0
-
- case wasi_http_0_3_0_types.ErrorCode_HttpResponseTimeout:
-
- variant = int32(33)
- variant64 = 0
- variant65 = 0
- variant66 = 0
- variant67 = 0
- variant68 = 0
- variant69 = 0
-
- case wasi_http_0_3_0_types.ErrorCode_HttpUpgradeFailed:
-
- variant = int32(34)
- variant64 = 0
- variant65 = 0
- variant66 = 0
- variant67 = 0
- variant68 = 0
- variant69 = 0
-
- case wasi_http_0_3_0_types.ErrorCode_HttpProtocolError:
-
- variant = int32(35)
- variant64 = 0
- variant65 = 0
- variant66 = 0
- variant67 = 0
- variant68 = 0
- variant69 = 0
-
- case wasi_http_0_3_0_types.ErrorCode_LoopDetected:
-
- variant = int32(36)
- variant64 = 0
- variant65 = 0
- variant66 = 0
- variant67 = 0
- variant68 = 0
- variant69 = 0
-
- case wasi_http_0_3_0_types.ErrorCode_ConfigurationError:
-
- variant = int32(37)
- variant64 = 0
- variant65 = 0
- variant66 = 0
- variant67 = 0
- variant68 = 0
- variant69 = 0
-
- case wasi_http_0_3_0_types.ErrorCode_InternalError:
- payload := payload.InternalError()
- var option61 int32
- var option62 uintptr
- var option63 uint32
- switch payload.Tag() {
- case witTypes.OptionNone:
-
- option61 = int32(0)
- option62 = 0
- option63 = 0
- case witTypes.OptionSome:
- payload := payload.Some()
- utf860 := unsafe.Pointer(unsafe.StringData(payload))
- pinner.Pin(utf860)
-
- option61 = int32(1)
- option62 = uintptr(utf860)
- option63 = uint32(len(payload))
- default:
- panic("unreachable")
- }
-
- variant = int32(38)
- variant64 = option61
- variant65 = int64(option62)
- variant66 = uintptr(option63)
- variant67 = 0
- variant68 = 0
- variant69 = 0
-
- default:
- panic("unreachable")
- }
-
- option70 = int32(1)
- option71 = variant
- option72 = variant64
- option73 = variant65
- option74 = variant66
- option75 = variant67
- option76 = variant68
- option77 = variant69
- default:
- panic("unreachable")
- }
- wasm_export_task_return_wasi_http_0_3_0_handler_handle(option70, option71, option72, option73, option74, option75, option76, option77)
-
- }))
-}
-
-//go:wasmexport [callback][async-lift]wasi:http/handler@0.3.0#handle
-func wasm_export_callback_wasi_http_0_3_0_handler_handle(event0 uint32, event1 uint32, event2 uint32) uint32 {
- return witAsync.Callback(event0, event1, event2)
-}
-
-//go:wasmimport [export]wasi:http/handler@0.3.0 [task-return]handle
-func wasm_export_task_return_wasi_http_0_3_0_handler_handle(arg0 int32, arg1 int32, arg2 int32, arg3 int64, arg4 uintptr, arg5 uintptr, arg6 uint32, arg7 int32)
diff --git a/fetch_wit_deps.sh b/fetch_wit_deps.sh
deleted file mode 100755
index e8f5912..0000000
--- a/fetch_wit_deps.sh
+++ /dev/null
@@ -1,46 +0,0 @@
-#!/bin/bash
-set -euo pipefail
-
-# Re-fetches the vendored WIT dependencies under wit/deps from the
-# WebAssembly package registry using wkg:
-# https://github.com/bytecodealliance/wasm-pkg-tools
-#
-# This uses `wkg get` with exact versions rather than `wkg wit fetch`
-# because `wkg wit fetch` resolves at most one version per package name,
-# and this library intentionally depends on two versions of several wasi
-# packages (e.g. wasi:http@0.2.8 and wasi:http@0.3.0).
-#
-# To update a dependency: bump its version below and in wit/world.wit, run
-# this script, then run ./regenerate_bindings.sh and commit the results.
-#
-# Uses the wkg binary from PATH by default; override with e.g.
-# WKG=~/source/bytecodealliance/wasm-pkg-tools/target/debug/wkg ./fetch_wit_deps.sh
-WKG="${WKG:-wkg}"
-
-PACKAGES=(
- "wasi:cli@0.2.8"
- "wasi:cli@0.3.0"
- "wasi:clocks@0.2.8"
- "wasi:clocks@0.3.0"
- "wasi:config@0.2.0-rc.1"
- "wasi:filesystem@0.2.8"
- "wasi:filesystem@0.3.0"
- "wasi:http@0.2.8"
- "wasi:http@0.3.0"
- "wasi:io@0.2.8"
- "wasi:logging@0.1.0-draft"
- "wasi:random@0.2.8"
- "wasi:random@0.3.0"
- "wasi:sockets@0.2.8"
- "wasi:sockets@0.3.0"
-)
-
-rm -rf wit/deps
-mkdir -p wit/deps
-
-for pkg in "${PACKAGES[@]}"; do
- # wasi:http@0.2.8 -> wit/deps/wasi-http-0.2.8/package.wit
- dir="wit/deps/$(echo "$pkg" | tr ':@' '--')"
- mkdir -p "$dir"
- "$WKG" get "$pkg" --format wit --overwrite -o "$dir/package.wit"
-done
diff --git a/imports/wasi_cli_0_2_8_environment/empty.s b/imports/wasi_cli_0_2_8_environment/empty.s
deleted file mode 100644
index 308ab60..0000000
--- a/imports/wasi_cli_0_2_8_environment/empty.s
+++ /dev/null
@@ -1,3 +0,0 @@
-// This file exists for testing this package without WebAssembly,
-// allowing empty function bodies with a //go:wasmimport directive.
-// See https://pkg.go.dev/cmd/compile for more information.
\ No newline at end of file
diff --git a/imports/wasi_cli_0_2_8_environment/wit_bindings.go b/imports/wasi_cli_0_2_8_environment/wit_bindings.go
deleted file mode 100644
index e40becc..0000000
--- a/imports/wasi_cli_0_2_8_environment/wit_bindings.go
+++ /dev/null
@@ -1,99 +0,0 @@
-// Generated by `wit-bindgen` 0.62.0. DO NOT EDIT!
-//
-// This code was generated from the following packages:
-// wasi:io@0.2.8
-// wasi:clocks@0.2.8
-// wasi:filesystem@0.2.8
-// wasi:sockets@0.2.8
-// wasi:random@0.2.8
-// wasi:cli@0.2.8
-// wasi:config@0.2.0-rc.1
-// wasi:logging@0.1.0-draft
-// wasi:http@0.2.8
-// wasi:clocks@0.3.0
-// wasi:filesystem@0.3.0
-// wasi:sockets@0.3.0
-// wasi:random@0.3.0
-// wasi:cli@0.3.0
-// wasi:http@0.3.0
-// bytecodealliance:pkg@0.1.0
-
-package wasi_cli_0_2_8_environment
-
-import (
- witRuntime "go.bytecodealliance.org/pkg/wit/runtime"
- witTypes "go.bytecodealliance.org/pkg/wit/types"
- "runtime"
- "unsafe"
-)
-
-//go:wasmimport wasi:cli/environment@0.2.8 get-environment
-func wasm_import_get_environment(arg0 uintptr)
-
-func GetEnvironment() []witTypes.Tuple2[string, string] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, (2 * 4), 4))
- wasm_import_get_environment(returnArea)
- result := make([]witTypes.Tuple2[string, string], 0, *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 4)))
- for index := 0; index < int(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 4))); index++ {
- base := unsafe.Add(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0)))), index*(4*4))
- value := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(base), 0))))), *(*uint32)(unsafe.Add(unsafe.Pointer(base), 4)))
- value0 := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(base), (2 * 4)))))), *(*uint32)(unsafe.Add(unsafe.Pointer(base), (3 * 4))))
-
- result = append(result, witTypes.Tuple2[string, string]{F0: value, F1: value0})
- }
-
- result1 := result
- return result1
-
-}
-
-//go:wasmimport wasi:cli/environment@0.2.8 get-arguments
-func wasm_import_get_arguments(arg0 uintptr)
-
-func GetArguments() []string {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, (2 * 4), 4))
- wasm_import_get_arguments(returnArea)
- result := make([]string, 0, *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 4)))
- for index := 0; index < int(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 4))); index++ {
- base := unsafe.Add(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0)))), index*(2*4))
- value := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(base), 0))))), *(*uint32)(unsafe.Add(unsafe.Pointer(base), 4)))
-
- result = append(result, value)
- }
-
- result0 := result
- return result0
-
-}
-
-//go:wasmimport wasi:cli/environment@0.2.8 initial-cwd
-func wasm_import_initial_cwd(arg0 uintptr)
-
-func InitialCwd() witTypes.Option[string] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, (3 * 4), 4))
- wasm_import_initial_cwd(returnArea)
- var option witTypes.Option[string]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- option = witTypes.None[string]()
- case 1:
- value := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 4))))), *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (2 * 4))))
-
- option = witTypes.Some[string](value)
- default:
- panic("unreachable")
- }
- result := option
- return result
-
-}
diff --git a/imports/wasi_cli_0_2_8_exit/empty.s b/imports/wasi_cli_0_2_8_exit/empty.s
deleted file mode 100644
index 308ab60..0000000
--- a/imports/wasi_cli_0_2_8_exit/empty.s
+++ /dev/null
@@ -1,3 +0,0 @@
-// This file exists for testing this package without WebAssembly,
-// allowing empty function bodies with a //go:wasmimport directive.
-// See https://pkg.go.dev/cmd/compile for more information.
\ No newline at end of file
diff --git a/imports/wasi_cli_0_2_8_exit/wit_bindings.go b/imports/wasi_cli_0_2_8_exit/wit_bindings.go
deleted file mode 100644
index 891567d..0000000
--- a/imports/wasi_cli_0_2_8_exit/wit_bindings.go
+++ /dev/null
@@ -1,45 +0,0 @@
-// Generated by `wit-bindgen` 0.62.0. DO NOT EDIT!
-//
-// This code was generated from the following packages:
-// wasi:io@0.2.8
-// wasi:clocks@0.2.8
-// wasi:filesystem@0.2.8
-// wasi:sockets@0.2.8
-// wasi:random@0.2.8
-// wasi:cli@0.2.8
-// wasi:config@0.2.0-rc.1
-// wasi:logging@0.1.0-draft
-// wasi:http@0.2.8
-// wasi:clocks@0.3.0
-// wasi:filesystem@0.3.0
-// wasi:sockets@0.3.0
-// wasi:random@0.3.0
-// wasi:cli@0.3.0
-// wasi:http@0.3.0
-// bytecodealliance:pkg@0.1.0
-
-package wasi_cli_0_2_8_exit
-
-import (
- witTypes "go.bytecodealliance.org/pkg/wit/types"
-)
-
-//go:wasmimport wasi:cli/exit@0.2.8 exit
-func wasm_import_exit(arg0 int32)
-
-func Exit(status witTypes.Result[witTypes.Unit, witTypes.Unit]) {
-
- var option int32
- switch status.Tag() {
- case witTypes.ResultOk:
-
- option = int32(0)
- case witTypes.ResultErr:
-
- option = int32(1)
- default:
- panic("unreachable")
- }
- wasm_import_exit(option)
-
-}
diff --git a/imports/wasi_cli_0_2_8_stderr/empty.s b/imports/wasi_cli_0_2_8_stderr/empty.s
deleted file mode 100644
index 308ab60..0000000
--- a/imports/wasi_cli_0_2_8_stderr/empty.s
+++ /dev/null
@@ -1,3 +0,0 @@
-// This file exists for testing this package without WebAssembly,
-// allowing empty function bodies with a //go:wasmimport directive.
-// See https://pkg.go.dev/cmd/compile for more information.
\ No newline at end of file
diff --git a/imports/wasi_cli_0_2_8_stderr/wit_bindings.go b/imports/wasi_cli_0_2_8_stderr/wit_bindings.go
deleted file mode 100644
index 2cacbcf..0000000
--- a/imports/wasi_cli_0_2_8_stderr/wit_bindings.go
+++ /dev/null
@@ -1,37 +0,0 @@
-// Generated by `wit-bindgen` 0.62.0. DO NOT EDIT!
-//
-// This code was generated from the following packages:
-// wasi:io@0.2.8
-// wasi:clocks@0.2.8
-// wasi:filesystem@0.2.8
-// wasi:sockets@0.2.8
-// wasi:random@0.2.8
-// wasi:cli@0.2.8
-// wasi:config@0.2.0-rc.1
-// wasi:logging@0.1.0-draft
-// wasi:http@0.2.8
-// wasi:clocks@0.3.0
-// wasi:filesystem@0.3.0
-// wasi:sockets@0.3.0
-// wasi:random@0.3.0
-// wasi:cli@0.3.0
-// wasi:http@0.3.0
-// bytecodealliance:pkg@0.1.0
-
-package wasi_cli_0_2_8_stderr
-
-import (
- "go.bytecodealliance.org/pkg/imports/wasi_io_0_2_8_streams"
-)
-
-type OutputStream = wasi_io_0_2_8_streams.OutputStream
-
-//go:wasmimport wasi:cli/stderr@0.2.8 get-stderr
-func wasm_import_get_stderr() int32
-
-func GetStderr() *wasi_io_0_2_8_streams.OutputStream {
-
- result := wasm_import_get_stderr()
- return wasi_io_0_2_8_streams.OutputStreamFromOwnHandle(int32(uintptr(result)))
-
-}
diff --git a/imports/wasi_cli_0_2_8_stdin/empty.s b/imports/wasi_cli_0_2_8_stdin/empty.s
deleted file mode 100644
index 308ab60..0000000
--- a/imports/wasi_cli_0_2_8_stdin/empty.s
+++ /dev/null
@@ -1,3 +0,0 @@
-// This file exists for testing this package without WebAssembly,
-// allowing empty function bodies with a //go:wasmimport directive.
-// See https://pkg.go.dev/cmd/compile for more information.
\ No newline at end of file
diff --git a/imports/wasi_cli_0_2_8_stdin/wit_bindings.go b/imports/wasi_cli_0_2_8_stdin/wit_bindings.go
deleted file mode 100644
index 30e2086..0000000
--- a/imports/wasi_cli_0_2_8_stdin/wit_bindings.go
+++ /dev/null
@@ -1,37 +0,0 @@
-// Generated by `wit-bindgen` 0.62.0. DO NOT EDIT!
-//
-// This code was generated from the following packages:
-// wasi:io@0.2.8
-// wasi:clocks@0.2.8
-// wasi:filesystem@0.2.8
-// wasi:sockets@0.2.8
-// wasi:random@0.2.8
-// wasi:cli@0.2.8
-// wasi:config@0.2.0-rc.1
-// wasi:logging@0.1.0-draft
-// wasi:http@0.2.8
-// wasi:clocks@0.3.0
-// wasi:filesystem@0.3.0
-// wasi:sockets@0.3.0
-// wasi:random@0.3.0
-// wasi:cli@0.3.0
-// wasi:http@0.3.0
-// bytecodealliance:pkg@0.1.0
-
-package wasi_cli_0_2_8_stdin
-
-import (
- "go.bytecodealliance.org/pkg/imports/wasi_io_0_2_8_streams"
-)
-
-type InputStream = wasi_io_0_2_8_streams.InputStream
-
-//go:wasmimport wasi:cli/stdin@0.2.8 get-stdin
-func wasm_import_get_stdin() int32
-
-func GetStdin() *wasi_io_0_2_8_streams.InputStream {
-
- result := wasm_import_get_stdin()
- return wasi_io_0_2_8_streams.InputStreamFromOwnHandle(int32(uintptr(result)))
-
-}
diff --git a/imports/wasi_cli_0_2_8_stdout/empty.s b/imports/wasi_cli_0_2_8_stdout/empty.s
deleted file mode 100644
index 308ab60..0000000
--- a/imports/wasi_cli_0_2_8_stdout/empty.s
+++ /dev/null
@@ -1,3 +0,0 @@
-// This file exists for testing this package without WebAssembly,
-// allowing empty function bodies with a //go:wasmimport directive.
-// See https://pkg.go.dev/cmd/compile for more information.
\ No newline at end of file
diff --git a/imports/wasi_cli_0_2_8_stdout/wit_bindings.go b/imports/wasi_cli_0_2_8_stdout/wit_bindings.go
deleted file mode 100644
index 939b6ad..0000000
--- a/imports/wasi_cli_0_2_8_stdout/wit_bindings.go
+++ /dev/null
@@ -1,37 +0,0 @@
-// Generated by `wit-bindgen` 0.62.0. DO NOT EDIT!
-//
-// This code was generated from the following packages:
-// wasi:io@0.2.8
-// wasi:clocks@0.2.8
-// wasi:filesystem@0.2.8
-// wasi:sockets@0.2.8
-// wasi:random@0.2.8
-// wasi:cli@0.2.8
-// wasi:config@0.2.0-rc.1
-// wasi:logging@0.1.0-draft
-// wasi:http@0.2.8
-// wasi:clocks@0.3.0
-// wasi:filesystem@0.3.0
-// wasi:sockets@0.3.0
-// wasi:random@0.3.0
-// wasi:cli@0.3.0
-// wasi:http@0.3.0
-// bytecodealliance:pkg@0.1.0
-
-package wasi_cli_0_2_8_stdout
-
-import (
- "go.bytecodealliance.org/pkg/imports/wasi_io_0_2_8_streams"
-)
-
-type OutputStream = wasi_io_0_2_8_streams.OutputStream
-
-//go:wasmimport wasi:cli/stdout@0.2.8 get-stdout
-func wasm_import_get_stdout() int32
-
-func GetStdout() *wasi_io_0_2_8_streams.OutputStream {
-
- result := wasm_import_get_stdout()
- return wasi_io_0_2_8_streams.OutputStreamFromOwnHandle(int32(uintptr(result)))
-
-}
diff --git a/imports/wasi_cli_0_2_8_terminal_input/empty.s b/imports/wasi_cli_0_2_8_terminal_input/empty.s
deleted file mode 100644
index 308ab60..0000000
--- a/imports/wasi_cli_0_2_8_terminal_input/empty.s
+++ /dev/null
@@ -1,3 +0,0 @@
-// This file exists for testing this package without WebAssembly,
-// allowing empty function bodies with a //go:wasmimport directive.
-// See https://pkg.go.dev/cmd/compile for more information.
\ No newline at end of file
diff --git a/imports/wasi_cli_0_2_8_terminal_input/wit_bindings.go b/imports/wasi_cli_0_2_8_terminal_input/wit_bindings.go
deleted file mode 100644
index 31c78b4..0000000
--- a/imports/wasi_cli_0_2_8_terminal_input/wit_bindings.go
+++ /dev/null
@@ -1,70 +0,0 @@
-// Generated by `wit-bindgen` 0.62.0. DO NOT EDIT!
-//
-// This code was generated from the following packages:
-// wasi:io@0.2.8
-// wasi:clocks@0.2.8
-// wasi:filesystem@0.2.8
-// wasi:sockets@0.2.8
-// wasi:random@0.2.8
-// wasi:cli@0.2.8
-// wasi:config@0.2.0-rc.1
-// wasi:logging@0.1.0-draft
-// wasi:http@0.2.8
-// wasi:clocks@0.3.0
-// wasi:filesystem@0.3.0
-// wasi:sockets@0.3.0
-// wasi:random@0.3.0
-// wasi:cli@0.3.0
-// wasi:http@0.3.0
-// bytecodealliance:pkg@0.1.0
-
-package wasi_cli_0_2_8_terminal_input
-
-import (
- witRuntime "go.bytecodealliance.org/pkg/wit/runtime"
- "runtime"
-)
-
-//go:wasmimport wasi:cli/terminal-input@0.2.8 [resource-drop]terminal-input
-func resourceDropTerminalInput(handle int32)
-
-// The input side of a terminal.
-type TerminalInput struct {
- handle *witRuntime.Handle
-}
-
-func (self *TerminalInput) TakeHandle() int32 {
- return self.handle.Take()
-}
-
-func (self *TerminalInput) SetHandle(handle int32) {
- self.handle.Set(handle)
-}
-
-func (self *TerminalInput) Handle() int32 {
- return self.handle.Use()
-}
-
-func (self *TerminalInput) Drop() {
- handle := self.handle.TakeOrNil()
- if handle != 0 {
- resourceDropTerminalInput(handle)
- }
-}
-
-func TerminalInputFromOwnHandle(handleValue int32) *TerminalInput {
- handle := witRuntime.MakeHandle(handleValue)
- value := &TerminalInput{handle}
- runtime.AddCleanup(value, func(_ int) {
- handleValue := handle.TakeOrNil()
- if handleValue != 0 {
- resourceDropTerminalInput(handleValue)
- }
- }, 0)
- return value
-}
-
-func TerminalInputFromBorrowHandle(handleValue int32) *TerminalInput {
- handle := witRuntime.MakeHandle(handleValue)
- return &TerminalInput{handle}
-}
diff --git a/imports/wasi_cli_0_2_8_terminal_output/empty.s b/imports/wasi_cli_0_2_8_terminal_output/empty.s
deleted file mode 100644
index 308ab60..0000000
--- a/imports/wasi_cli_0_2_8_terminal_output/empty.s
+++ /dev/null
@@ -1,3 +0,0 @@
-// This file exists for testing this package without WebAssembly,
-// allowing empty function bodies with a //go:wasmimport directive.
-// See https://pkg.go.dev/cmd/compile for more information.
\ No newline at end of file
diff --git a/imports/wasi_cli_0_2_8_terminal_output/wit_bindings.go b/imports/wasi_cli_0_2_8_terminal_output/wit_bindings.go
deleted file mode 100644
index 7a67067..0000000
--- a/imports/wasi_cli_0_2_8_terminal_output/wit_bindings.go
+++ /dev/null
@@ -1,70 +0,0 @@
-// Generated by `wit-bindgen` 0.62.0. DO NOT EDIT!
-//
-// This code was generated from the following packages:
-// wasi:io@0.2.8
-// wasi:clocks@0.2.8
-// wasi:filesystem@0.2.8
-// wasi:sockets@0.2.8
-// wasi:random@0.2.8
-// wasi:cli@0.2.8
-// wasi:config@0.2.0-rc.1
-// wasi:logging@0.1.0-draft
-// wasi:http@0.2.8
-// wasi:clocks@0.3.0
-// wasi:filesystem@0.3.0
-// wasi:sockets@0.3.0
-// wasi:random@0.3.0
-// wasi:cli@0.3.0
-// wasi:http@0.3.0
-// bytecodealliance:pkg@0.1.0
-
-package wasi_cli_0_2_8_terminal_output
-
-import (
- witRuntime "go.bytecodealliance.org/pkg/wit/runtime"
- "runtime"
-)
-
-//go:wasmimport wasi:cli/terminal-output@0.2.8 [resource-drop]terminal-output
-func resourceDropTerminalOutput(handle int32)
-
-// The output side of a terminal.
-type TerminalOutput struct {
- handle *witRuntime.Handle
-}
-
-func (self *TerminalOutput) TakeHandle() int32 {
- return self.handle.Take()
-}
-
-func (self *TerminalOutput) SetHandle(handle int32) {
- self.handle.Set(handle)
-}
-
-func (self *TerminalOutput) Handle() int32 {
- return self.handle.Use()
-}
-
-func (self *TerminalOutput) Drop() {
- handle := self.handle.TakeOrNil()
- if handle != 0 {
- resourceDropTerminalOutput(handle)
- }
-}
-
-func TerminalOutputFromOwnHandle(handleValue int32) *TerminalOutput {
- handle := witRuntime.MakeHandle(handleValue)
- value := &TerminalOutput{handle}
- runtime.AddCleanup(value, func(_ int) {
- handleValue := handle.TakeOrNil()
- if handleValue != 0 {
- resourceDropTerminalOutput(handleValue)
- }
- }, 0)
- return value
-}
-
-func TerminalOutputFromBorrowHandle(handleValue int32) *TerminalOutput {
- handle := witRuntime.MakeHandle(handleValue)
- return &TerminalOutput{handle}
-}
diff --git a/imports/wasi_cli_0_2_8_terminal_stderr/empty.s b/imports/wasi_cli_0_2_8_terminal_stderr/empty.s
deleted file mode 100644
index 308ab60..0000000
--- a/imports/wasi_cli_0_2_8_terminal_stderr/empty.s
+++ /dev/null
@@ -1,3 +0,0 @@
-// This file exists for testing this package without WebAssembly,
-// allowing empty function bodies with a //go:wasmimport directive.
-// See https://pkg.go.dev/cmd/compile for more information.
\ No newline at end of file
diff --git a/imports/wasi_cli_0_2_8_terminal_stderr/wit_bindings.go b/imports/wasi_cli_0_2_8_terminal_stderr/wit_bindings.go
deleted file mode 100644
index ab6be01..0000000
--- a/imports/wasi_cli_0_2_8_terminal_stderr/wit_bindings.go
+++ /dev/null
@@ -1,56 +0,0 @@
-// Generated by `wit-bindgen` 0.62.0. DO NOT EDIT!
-//
-// This code was generated from the following packages:
-// wasi:io@0.2.8
-// wasi:clocks@0.2.8
-// wasi:filesystem@0.2.8
-// wasi:sockets@0.2.8
-// wasi:random@0.2.8
-// wasi:cli@0.2.8
-// wasi:config@0.2.0-rc.1
-// wasi:logging@0.1.0-draft
-// wasi:http@0.2.8
-// wasi:clocks@0.3.0
-// wasi:filesystem@0.3.0
-// wasi:sockets@0.3.0
-// wasi:random@0.3.0
-// wasi:cli@0.3.0
-// wasi:http@0.3.0
-// bytecodealliance:pkg@0.1.0
-
-package wasi_cli_0_2_8_terminal_stderr
-
-import (
- "go.bytecodealliance.org/pkg/imports/wasi_cli_0_2_8_terminal_output"
- witRuntime "go.bytecodealliance.org/pkg/wit/runtime"
- witTypes "go.bytecodealliance.org/pkg/wit/types"
- "runtime"
- "unsafe"
-)
-
-type TerminalOutput = wasi_cli_0_2_8_terminal_output.TerminalOutput
-
-//go:wasmimport wasi:cli/terminal-stderr@0.2.8 get-terminal-stderr
-func wasm_import_get_terminal_stderr(arg0 uintptr)
-
-func GetTerminalStderr() witTypes.Option[*wasi_cli_0_2_8_terminal_output.TerminalOutput] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 8, 4))
- wasm_import_get_terminal_stderr(returnArea)
- var option witTypes.Option[*wasi_cli_0_2_8_terminal_output.TerminalOutput]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- option = witTypes.None[*wasi_cli_0_2_8_terminal_output.TerminalOutput]()
- case 1:
-
- option = witTypes.Some[*wasi_cli_0_2_8_terminal_output.TerminalOutput](wasi_cli_0_2_8_terminal_output.TerminalOutputFromOwnHandle(int32(uintptr(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 4))))))
- default:
- panic("unreachable")
- }
- result := option
- return result
-
-}
diff --git a/imports/wasi_cli_0_2_8_terminal_stdin/empty.s b/imports/wasi_cli_0_2_8_terminal_stdin/empty.s
deleted file mode 100644
index 308ab60..0000000
--- a/imports/wasi_cli_0_2_8_terminal_stdin/empty.s
+++ /dev/null
@@ -1,3 +0,0 @@
-// This file exists for testing this package without WebAssembly,
-// allowing empty function bodies with a //go:wasmimport directive.
-// See https://pkg.go.dev/cmd/compile for more information.
\ No newline at end of file
diff --git a/imports/wasi_cli_0_2_8_terminal_stdin/wit_bindings.go b/imports/wasi_cli_0_2_8_terminal_stdin/wit_bindings.go
deleted file mode 100644
index 508aae2..0000000
--- a/imports/wasi_cli_0_2_8_terminal_stdin/wit_bindings.go
+++ /dev/null
@@ -1,56 +0,0 @@
-// Generated by `wit-bindgen` 0.62.0. DO NOT EDIT!
-//
-// This code was generated from the following packages:
-// wasi:io@0.2.8
-// wasi:clocks@0.2.8
-// wasi:filesystem@0.2.8
-// wasi:sockets@0.2.8
-// wasi:random@0.2.8
-// wasi:cli@0.2.8
-// wasi:config@0.2.0-rc.1
-// wasi:logging@0.1.0-draft
-// wasi:http@0.2.8
-// wasi:clocks@0.3.0
-// wasi:filesystem@0.3.0
-// wasi:sockets@0.3.0
-// wasi:random@0.3.0
-// wasi:cli@0.3.0
-// wasi:http@0.3.0
-// bytecodealliance:pkg@0.1.0
-
-package wasi_cli_0_2_8_terminal_stdin
-
-import (
- "go.bytecodealliance.org/pkg/imports/wasi_cli_0_2_8_terminal_input"
- witRuntime "go.bytecodealliance.org/pkg/wit/runtime"
- witTypes "go.bytecodealliance.org/pkg/wit/types"
- "runtime"
- "unsafe"
-)
-
-type TerminalInput = wasi_cli_0_2_8_terminal_input.TerminalInput
-
-//go:wasmimport wasi:cli/terminal-stdin@0.2.8 get-terminal-stdin
-func wasm_import_get_terminal_stdin(arg0 uintptr)
-
-func GetTerminalStdin() witTypes.Option[*wasi_cli_0_2_8_terminal_input.TerminalInput] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 8, 4))
- wasm_import_get_terminal_stdin(returnArea)
- var option witTypes.Option[*wasi_cli_0_2_8_terminal_input.TerminalInput]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- option = witTypes.None[*wasi_cli_0_2_8_terminal_input.TerminalInput]()
- case 1:
-
- option = witTypes.Some[*wasi_cli_0_2_8_terminal_input.TerminalInput](wasi_cli_0_2_8_terminal_input.TerminalInputFromOwnHandle(int32(uintptr(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 4))))))
- default:
- panic("unreachable")
- }
- result := option
- return result
-
-}
diff --git a/imports/wasi_cli_0_2_8_terminal_stdout/empty.s b/imports/wasi_cli_0_2_8_terminal_stdout/empty.s
deleted file mode 100644
index 308ab60..0000000
--- a/imports/wasi_cli_0_2_8_terminal_stdout/empty.s
+++ /dev/null
@@ -1,3 +0,0 @@
-// This file exists for testing this package without WebAssembly,
-// allowing empty function bodies with a //go:wasmimport directive.
-// See https://pkg.go.dev/cmd/compile for more information.
\ No newline at end of file
diff --git a/imports/wasi_cli_0_2_8_terminal_stdout/wit_bindings.go b/imports/wasi_cli_0_2_8_terminal_stdout/wit_bindings.go
deleted file mode 100644
index a960749..0000000
--- a/imports/wasi_cli_0_2_8_terminal_stdout/wit_bindings.go
+++ /dev/null
@@ -1,56 +0,0 @@
-// Generated by `wit-bindgen` 0.62.0. DO NOT EDIT!
-//
-// This code was generated from the following packages:
-// wasi:io@0.2.8
-// wasi:clocks@0.2.8
-// wasi:filesystem@0.2.8
-// wasi:sockets@0.2.8
-// wasi:random@0.2.8
-// wasi:cli@0.2.8
-// wasi:config@0.2.0-rc.1
-// wasi:logging@0.1.0-draft
-// wasi:http@0.2.8
-// wasi:clocks@0.3.0
-// wasi:filesystem@0.3.0
-// wasi:sockets@0.3.0
-// wasi:random@0.3.0
-// wasi:cli@0.3.0
-// wasi:http@0.3.0
-// bytecodealliance:pkg@0.1.0
-
-package wasi_cli_0_2_8_terminal_stdout
-
-import (
- "go.bytecodealliance.org/pkg/imports/wasi_cli_0_2_8_terminal_output"
- witRuntime "go.bytecodealliance.org/pkg/wit/runtime"
- witTypes "go.bytecodealliance.org/pkg/wit/types"
- "runtime"
- "unsafe"
-)
-
-type TerminalOutput = wasi_cli_0_2_8_terminal_output.TerminalOutput
-
-//go:wasmimport wasi:cli/terminal-stdout@0.2.8 get-terminal-stdout
-func wasm_import_get_terminal_stdout(arg0 uintptr)
-
-func GetTerminalStdout() witTypes.Option[*wasi_cli_0_2_8_terminal_output.TerminalOutput] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 8, 4))
- wasm_import_get_terminal_stdout(returnArea)
- var option witTypes.Option[*wasi_cli_0_2_8_terminal_output.TerminalOutput]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- option = witTypes.None[*wasi_cli_0_2_8_terminal_output.TerminalOutput]()
- case 1:
-
- option = witTypes.Some[*wasi_cli_0_2_8_terminal_output.TerminalOutput](wasi_cli_0_2_8_terminal_output.TerminalOutputFromOwnHandle(int32(uintptr(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 4))))))
- default:
- panic("unreachable")
- }
- result := option
- return result
-
-}
diff --git a/imports/wasi_cli_0_3_0_stderr/empty.s b/imports/wasi_cli_0_3_0_stderr/empty.s
deleted file mode 100644
index 308ab60..0000000
--- a/imports/wasi_cli_0_3_0_stderr/empty.s
+++ /dev/null
@@ -1,3 +0,0 @@
-// This file exists for testing this package without WebAssembly,
-// allowing empty function bodies with a //go:wasmimport directive.
-// See https://pkg.go.dev/cmd/compile for more information.
\ No newline at end of file
diff --git a/imports/wasi_cli_0_3_0_stderr/wit_bindings.go b/imports/wasi_cli_0_3_0_stderr/wit_bindings.go
deleted file mode 100644
index 60976fe..0000000
--- a/imports/wasi_cli_0_3_0_stderr/wit_bindings.go
+++ /dev/null
@@ -1,117 +0,0 @@
-// Generated by `wit-bindgen` 0.62.0. DO NOT EDIT!
-//
-// This code was generated from the following packages:
-// wasi:io@0.2.8
-// wasi:clocks@0.2.8
-// wasi:filesystem@0.2.8
-// wasi:sockets@0.2.8
-// wasi:random@0.2.8
-// wasi:cli@0.2.8
-// wasi:config@0.2.0-rc.1
-// wasi:logging@0.1.0-draft
-// wasi:http@0.2.8
-// wasi:clocks@0.3.0
-// wasi:filesystem@0.3.0
-// wasi:sockets@0.3.0
-// wasi:random@0.3.0
-// wasi:cli@0.3.0
-// wasi:http@0.3.0
-// bytecodealliance:pkg@0.1.0
-
-package wasi_cli_0_3_0_stderr
-
-import (
- "go.bytecodealliance.org/pkg/imports/wasi_cli_0_3_0_types"
- witTypes "go.bytecodealliance.org/pkg/wit/types"
- "runtime"
- "unsafe"
-)
-
-//go:wasmimport wasi:cli/stderr@0.3.0 [future-new-1]write-via-stream
-func wasm_future_new_result_unit_wasi_cli_0_3_0_types_error_code() uint64
-
-//go:wasmimport wasi:cli/stderr@0.3.0 [async-lower][future-read-1]write-via-stream
-func wasm_future_read_result_unit_wasi_cli_0_3_0_types_error_code(handle int32, item unsafe.Pointer) uint32
-
-//go:wasmimport wasi:cli/stderr@0.3.0 [async-lower][future-write-1]write-via-stream
-func wasm_future_write_result_unit_wasi_cli_0_3_0_types_error_code(handle int32, item unsafe.Pointer) uint32
-
-//go:wasmimport wasi:cli/stderr@0.3.0 [future-drop-readable-1]write-via-stream
-func wasm_future_drop_readable_result_unit_wasi_cli_0_3_0_types_error_code(handle int32)
-
-//go:wasmimport wasi:cli/stderr@0.3.0 [future-drop-writable-1]write-via-stream
-func wasm_future_drop_writable_result_unit_wasi_cli_0_3_0_types_error_code(handle int32)
-
-func wasm_future_lift_result_unit_wasi_cli_0_3_0_types_error_code(src unsafe.Pointer) witTypes.Result[witTypes.Unit, wasi_cli_0_3_0_types.ErrorCode] {
- var result witTypes.Result[witTypes.Unit, wasi_cli_0_3_0_types.ErrorCode]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(src), 0))) {
- case 0:
-
- result = witTypes.Ok[witTypes.Unit, wasi_cli_0_3_0_types.ErrorCode](witTypes.Unit{})
- case 1:
-
- result = witTypes.Err[witTypes.Unit, wasi_cli_0_3_0_types.ErrorCode](uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(src), 1)))))
- default:
- panic("unreachable")
- }
-
- return result
-}
-
-func wasm_future_lower_result_unit_wasi_cli_0_3_0_types_error_code(
- pinner *runtime.Pinner,
- value witTypes.Result[witTypes.Unit, wasi_cli_0_3_0_types.ErrorCode],
- dst unsafe.Pointer,
-) func() {
-
- switch value.Tag() {
- case witTypes.ResultOk:
-
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 0)) = int8(int32(0))
-
- case witTypes.ResultErr:
- payload := value.Err()
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 0)) = int8(int32(1))
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 1)) = int8(int32(payload))
-
- default:
- panic("unreachable")
- }
-
- return func() {}
-}
-
-var wasm_future_vtable_result_unit_wasi_cli_0_3_0_types_error_code = witTypes.FutureVtable[witTypes.Result[witTypes.Unit, wasi_cli_0_3_0_types.ErrorCode]]{
- Size: 2,
- Align: 1,
- Read: wasm_future_read_result_unit_wasi_cli_0_3_0_types_error_code,
- Write: wasm_future_write_result_unit_wasi_cli_0_3_0_types_error_code,
- CancelRead: nil,
- CancelWrite: nil,
- DropReadable: wasm_future_drop_readable_result_unit_wasi_cli_0_3_0_types_error_code,
- DropWritable: wasm_future_drop_writable_result_unit_wasi_cli_0_3_0_types_error_code,
- Lift: wasm_future_lift_result_unit_wasi_cli_0_3_0_types_error_code,
- Lower: wasm_future_lower_result_unit_wasi_cli_0_3_0_types_error_code,
-}
-
-func MakeFutureResultUnitWasiCli030TypesErrorCode() (*witTypes.FutureWriter[witTypes.Result[witTypes.Unit, wasi_cli_0_3_0_types.ErrorCode]], *witTypes.FutureReader[witTypes.Result[witTypes.Unit, wasi_cli_0_3_0_types.ErrorCode]]) {
- pair := wasm_future_new_result_unit_wasi_cli_0_3_0_types_error_code()
- return witTypes.MakeFutureWriter[witTypes.Result[witTypes.Unit, wasi_cli_0_3_0_types.ErrorCode]](&wasm_future_vtable_result_unit_wasi_cli_0_3_0_types_error_code, int32(pair>>32)),
- witTypes.MakeFutureReader[witTypes.Result[witTypes.Unit, wasi_cli_0_3_0_types.ErrorCode]](&wasm_future_vtable_result_unit_wasi_cli_0_3_0_types_error_code, int32(pair&0xFFFFFFFF))
-}
-
-func LiftFutureResultUnitWasiCli030TypesErrorCode(handle int32) *witTypes.FutureReader[witTypes.Result[witTypes.Unit, wasi_cli_0_3_0_types.ErrorCode]] {
- return witTypes.MakeFutureReader[witTypes.Result[witTypes.Unit, wasi_cli_0_3_0_types.ErrorCode]](&wasm_future_vtable_result_unit_wasi_cli_0_3_0_types_error_code, handle)
-}
-
-type ErrorCode = wasi_cli_0_3_0_types.ErrorCode
-
-//go:wasmimport wasi:cli/stderr@0.3.0 write-via-stream
-func wasm_import_write_via_stream(arg0 int32) int32
-
-func WriteViaStream(data *witTypes.StreamReader[uint8]) *witTypes.FutureReader[witTypes.Result[witTypes.Unit, wasi_cli_0_3_0_types.ErrorCode]] {
-
- result := wasm_import_write_via_stream((data).TakeHandle())
- return LiftFutureResultUnitWasiCli030TypesErrorCode(result)
-
-}
diff --git a/imports/wasi_cli_0_3_0_stdin/empty.s b/imports/wasi_cli_0_3_0_stdin/empty.s
deleted file mode 100644
index 308ab60..0000000
--- a/imports/wasi_cli_0_3_0_stdin/empty.s
+++ /dev/null
@@ -1,3 +0,0 @@
-// This file exists for testing this package without WebAssembly,
-// allowing empty function bodies with a //go:wasmimport directive.
-// See https://pkg.go.dev/cmd/compile for more information.
\ No newline at end of file
diff --git a/imports/wasi_cli_0_3_0_stdin/wit_bindings.go b/imports/wasi_cli_0_3_0_stdin/wit_bindings.go
deleted file mode 100644
index 5ef77ca..0000000
--- a/imports/wasi_cli_0_3_0_stdin/wit_bindings.go
+++ /dev/null
@@ -1,124 +0,0 @@
-// Generated by `wit-bindgen` 0.62.0. DO NOT EDIT!
-//
-// This code was generated from the following packages:
-// wasi:io@0.2.8
-// wasi:clocks@0.2.8
-// wasi:filesystem@0.2.8
-// wasi:sockets@0.2.8
-// wasi:random@0.2.8
-// wasi:cli@0.2.8
-// wasi:config@0.2.0-rc.1
-// wasi:logging@0.1.0-draft
-// wasi:http@0.2.8
-// wasi:clocks@0.3.0
-// wasi:filesystem@0.3.0
-// wasi:sockets@0.3.0
-// wasi:random@0.3.0
-// wasi:cli@0.3.0
-// wasi:http@0.3.0
-// bytecodealliance:pkg@0.1.0
-
-package wasi_cli_0_3_0_stdin
-
-import (
- "go.bytecodealliance.org/pkg/imports/wasi_cli_0_3_0_stdout"
- "go.bytecodealliance.org/pkg/imports/wasi_cli_0_3_0_types"
- witRuntime "go.bytecodealliance.org/pkg/wit/runtime"
- witTypes "go.bytecodealliance.org/pkg/wit/types"
- "runtime"
- "unsafe"
-)
-
-//go:wasmimport wasi:cli/stdin@0.3.0 [future-new-1]read-via-stream
-func wasm_future_new_result_unit_wasi_cli_0_3_0_types_error_code() uint64
-
-//go:wasmimport wasi:cli/stdin@0.3.0 [async-lower][future-read-1]read-via-stream
-func wasm_future_read_result_unit_wasi_cli_0_3_0_types_error_code(handle int32, item unsafe.Pointer) uint32
-
-//go:wasmimport wasi:cli/stdin@0.3.0 [async-lower][future-write-1]read-via-stream
-func wasm_future_write_result_unit_wasi_cli_0_3_0_types_error_code(handle int32, item unsafe.Pointer) uint32
-
-//go:wasmimport wasi:cli/stdin@0.3.0 [future-drop-readable-1]read-via-stream
-func wasm_future_drop_readable_result_unit_wasi_cli_0_3_0_types_error_code(handle int32)
-
-//go:wasmimport wasi:cli/stdin@0.3.0 [future-drop-writable-1]read-via-stream
-func wasm_future_drop_writable_result_unit_wasi_cli_0_3_0_types_error_code(handle int32)
-
-func wasm_future_lift_result_unit_wasi_cli_0_3_0_types_error_code(src unsafe.Pointer) witTypes.Result[witTypes.Unit, wasi_cli_0_3_0_types.ErrorCode] {
- var result witTypes.Result[witTypes.Unit, wasi_cli_0_3_0_types.ErrorCode]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(src), 0))) {
- case 0:
-
- result = witTypes.Ok[witTypes.Unit, wasi_cli_0_3_0_types.ErrorCode](witTypes.Unit{})
- case 1:
-
- result = witTypes.Err[witTypes.Unit, wasi_cli_0_3_0_types.ErrorCode](uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(src), 1)))))
- default:
- panic("unreachable")
- }
-
- return result
-}
-
-func wasm_future_lower_result_unit_wasi_cli_0_3_0_types_error_code(
- pinner *runtime.Pinner,
- value witTypes.Result[witTypes.Unit, wasi_cli_0_3_0_types.ErrorCode],
- dst unsafe.Pointer,
-) func() {
-
- switch value.Tag() {
- case witTypes.ResultOk:
-
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 0)) = int8(int32(0))
-
- case witTypes.ResultErr:
- payload := value.Err()
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 0)) = int8(int32(1))
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 1)) = int8(int32(payload))
-
- default:
- panic("unreachable")
- }
-
- return func() {}
-}
-
-var wasm_future_vtable_result_unit_wasi_cli_0_3_0_types_error_code = witTypes.FutureVtable[witTypes.Result[witTypes.Unit, wasi_cli_0_3_0_types.ErrorCode]]{
- Size: 2,
- Align: 1,
- Read: wasm_future_read_result_unit_wasi_cli_0_3_0_types_error_code,
- Write: wasm_future_write_result_unit_wasi_cli_0_3_0_types_error_code,
- CancelRead: nil,
- CancelWrite: nil,
- DropReadable: wasm_future_drop_readable_result_unit_wasi_cli_0_3_0_types_error_code,
- DropWritable: wasm_future_drop_writable_result_unit_wasi_cli_0_3_0_types_error_code,
- Lift: wasm_future_lift_result_unit_wasi_cli_0_3_0_types_error_code,
- Lower: wasm_future_lower_result_unit_wasi_cli_0_3_0_types_error_code,
-}
-
-func MakeFutureResultUnitWasiCli030TypesErrorCode() (*witTypes.FutureWriter[witTypes.Result[witTypes.Unit, wasi_cli_0_3_0_types.ErrorCode]], *witTypes.FutureReader[witTypes.Result[witTypes.Unit, wasi_cli_0_3_0_types.ErrorCode]]) {
- pair := wasm_future_new_result_unit_wasi_cli_0_3_0_types_error_code()
- return witTypes.MakeFutureWriter[witTypes.Result[witTypes.Unit, wasi_cli_0_3_0_types.ErrorCode]](&wasm_future_vtable_result_unit_wasi_cli_0_3_0_types_error_code, int32(pair>>32)),
- witTypes.MakeFutureReader[witTypes.Result[witTypes.Unit, wasi_cli_0_3_0_types.ErrorCode]](&wasm_future_vtable_result_unit_wasi_cli_0_3_0_types_error_code, int32(pair&0xFFFFFFFF))
-}
-
-func LiftFutureResultUnitWasiCli030TypesErrorCode(handle int32) *witTypes.FutureReader[witTypes.Result[witTypes.Unit, wasi_cli_0_3_0_types.ErrorCode]] {
- return witTypes.MakeFutureReader[witTypes.Result[witTypes.Unit, wasi_cli_0_3_0_types.ErrorCode]](&wasm_future_vtable_result_unit_wasi_cli_0_3_0_types_error_code, handle)
-}
-
-type ErrorCode = wasi_cli_0_3_0_types.ErrorCode
-
-//go:wasmimport wasi:cli/stdin@0.3.0 read-via-stream
-func wasm_import_read_via_stream(arg0 uintptr)
-
-func ReadViaStream() (*witTypes.StreamReader[uint8], *witTypes.FutureReader[witTypes.Result[witTypes.Unit, wasi_cli_0_3_0_types.ErrorCode]]) {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 8, 4))
- wasm_import_read_via_stream(returnArea)
- result := witTypes.Tuple2[*witTypes.StreamReader[uint8], *witTypes.FutureReader[witTypes.Result[witTypes.Unit, wasi_cli_0_3_0_types.ErrorCode]]]{F0: wasi_cli_0_3_0_stdout.LiftStreamU8(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 0))), F1: LiftFutureResultUnitWasiCli030TypesErrorCode(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 4)))}
- tuple := result
- return tuple.F0, tuple.F1
-
-}
diff --git a/imports/wasi_cli_0_3_0_stdout/empty.s b/imports/wasi_cli_0_3_0_stdout/empty.s
deleted file mode 100644
index 308ab60..0000000
--- a/imports/wasi_cli_0_3_0_stdout/empty.s
+++ /dev/null
@@ -1,3 +0,0 @@
-// This file exists for testing this package without WebAssembly,
-// allowing empty function bodies with a //go:wasmimport directive.
-// See https://pkg.go.dev/cmd/compile for more information.
\ No newline at end of file
diff --git a/imports/wasi_cli_0_3_0_stdout/wit_bindings.go b/imports/wasi_cli_0_3_0_stdout/wit_bindings.go
deleted file mode 100644
index 179ef70..0000000
--- a/imports/wasi_cli_0_3_0_stdout/wit_bindings.go
+++ /dev/null
@@ -1,155 +0,0 @@
-// Generated by `wit-bindgen` 0.62.0. DO NOT EDIT!
-//
-// This code was generated from the following packages:
-// wasi:io@0.2.8
-// wasi:clocks@0.2.8
-// wasi:filesystem@0.2.8
-// wasi:sockets@0.2.8
-// wasi:random@0.2.8
-// wasi:cli@0.2.8
-// wasi:config@0.2.0-rc.1
-// wasi:logging@0.1.0-draft
-// wasi:http@0.2.8
-// wasi:clocks@0.3.0
-// wasi:filesystem@0.3.0
-// wasi:sockets@0.3.0
-// wasi:random@0.3.0
-// wasi:cli@0.3.0
-// wasi:http@0.3.0
-// bytecodealliance:pkg@0.1.0
-
-package wasi_cli_0_3_0_stdout
-
-import (
- "go.bytecodealliance.org/pkg/imports/wasi_cli_0_3_0_types"
- witTypes "go.bytecodealliance.org/pkg/wit/types"
- "runtime"
- "unsafe"
-)
-
-//go:wasmimport wasi:cli/stdout@0.3.0 [stream-new-0]write-via-stream
-func wasm_stream_new_u8() uint64
-
-//go:wasmimport wasi:cli/stdout@0.3.0 [async-lower][stream-read-0]write-via-stream
-func wasm_stream_read_u8(handle int32, item unsafe.Pointer, count uint32) uint32
-
-//go:wasmimport wasi:cli/stdout@0.3.0 [async-lower][stream-write-0]write-via-stream
-func wasm_stream_write_u8(handle int32, item unsafe.Pointer, count uint32) uint32
-
-//go:wasmimport wasi:cli/stdout@0.3.0 [stream-drop-readable-0]write-via-stream
-func wasm_stream_drop_readable_u8(handle int32)
-
-//go:wasmimport wasi:cli/stdout@0.3.0 [stream-drop-writable-0]write-via-stream
-func wasm_stream_drop_writable_u8(handle int32)
-
-var wasm_stream_vtable_u8 = witTypes.StreamVtable[uint8]{
- Size: 1,
- Align: 1,
- Read: wasm_stream_read_u8,
- Write: wasm_stream_write_u8,
- CancelRead: nil,
- CancelWrite: nil,
- DropReadable: wasm_stream_drop_readable_u8,
- DropWritable: wasm_stream_drop_writable_u8,
- Lift: nil,
- Lower: nil,
-}
-
-func MakeStreamU8() (*witTypes.StreamWriter[uint8], *witTypes.StreamReader[uint8]) {
- pair := wasm_stream_new_u8()
- return witTypes.MakeStreamWriter[uint8](&wasm_stream_vtable_u8, int32(pair>>32)),
- witTypes.MakeStreamReader[uint8](&wasm_stream_vtable_u8, int32(pair&0xFFFFFFFF))
-}
-
-func LiftStreamU8(handle int32) *witTypes.StreamReader[uint8] {
- return witTypes.MakeStreamReader[uint8](&wasm_stream_vtable_u8, handle)
-}
-
-//go:wasmimport wasi:cli/stdout@0.3.0 [future-new-1]write-via-stream
-func wasm_future_new_result_unit_wasi_cli_0_3_0_types_error_code() uint64
-
-//go:wasmimport wasi:cli/stdout@0.3.0 [async-lower][future-read-1]write-via-stream
-func wasm_future_read_result_unit_wasi_cli_0_3_0_types_error_code(handle int32, item unsafe.Pointer) uint32
-
-//go:wasmimport wasi:cli/stdout@0.3.0 [async-lower][future-write-1]write-via-stream
-func wasm_future_write_result_unit_wasi_cli_0_3_0_types_error_code(handle int32, item unsafe.Pointer) uint32
-
-//go:wasmimport wasi:cli/stdout@0.3.0 [future-drop-readable-1]write-via-stream
-func wasm_future_drop_readable_result_unit_wasi_cli_0_3_0_types_error_code(handle int32)
-
-//go:wasmimport wasi:cli/stdout@0.3.0 [future-drop-writable-1]write-via-stream
-func wasm_future_drop_writable_result_unit_wasi_cli_0_3_0_types_error_code(handle int32)
-
-func wasm_future_lift_result_unit_wasi_cli_0_3_0_types_error_code(src unsafe.Pointer) witTypes.Result[witTypes.Unit, wasi_cli_0_3_0_types.ErrorCode] {
- var result witTypes.Result[witTypes.Unit, wasi_cli_0_3_0_types.ErrorCode]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(src), 0))) {
- case 0:
-
- result = witTypes.Ok[witTypes.Unit, wasi_cli_0_3_0_types.ErrorCode](witTypes.Unit{})
- case 1:
-
- result = witTypes.Err[witTypes.Unit, wasi_cli_0_3_0_types.ErrorCode](uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(src), 1)))))
- default:
- panic("unreachable")
- }
-
- return result
-}
-
-func wasm_future_lower_result_unit_wasi_cli_0_3_0_types_error_code(
- pinner *runtime.Pinner,
- value witTypes.Result[witTypes.Unit, wasi_cli_0_3_0_types.ErrorCode],
- dst unsafe.Pointer,
-) func() {
-
- switch value.Tag() {
- case witTypes.ResultOk:
-
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 0)) = int8(int32(0))
-
- case witTypes.ResultErr:
- payload := value.Err()
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 0)) = int8(int32(1))
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 1)) = int8(int32(payload))
-
- default:
- panic("unreachable")
- }
-
- return func() {}
-}
-
-var wasm_future_vtable_result_unit_wasi_cli_0_3_0_types_error_code = witTypes.FutureVtable[witTypes.Result[witTypes.Unit, wasi_cli_0_3_0_types.ErrorCode]]{
- Size: 2,
- Align: 1,
- Read: wasm_future_read_result_unit_wasi_cli_0_3_0_types_error_code,
- Write: wasm_future_write_result_unit_wasi_cli_0_3_0_types_error_code,
- CancelRead: nil,
- CancelWrite: nil,
- DropReadable: wasm_future_drop_readable_result_unit_wasi_cli_0_3_0_types_error_code,
- DropWritable: wasm_future_drop_writable_result_unit_wasi_cli_0_3_0_types_error_code,
- Lift: wasm_future_lift_result_unit_wasi_cli_0_3_0_types_error_code,
- Lower: wasm_future_lower_result_unit_wasi_cli_0_3_0_types_error_code,
-}
-
-func MakeFutureResultUnitWasiCli030TypesErrorCode() (*witTypes.FutureWriter[witTypes.Result[witTypes.Unit, wasi_cli_0_3_0_types.ErrorCode]], *witTypes.FutureReader[witTypes.Result[witTypes.Unit, wasi_cli_0_3_0_types.ErrorCode]]) {
- pair := wasm_future_new_result_unit_wasi_cli_0_3_0_types_error_code()
- return witTypes.MakeFutureWriter[witTypes.Result[witTypes.Unit, wasi_cli_0_3_0_types.ErrorCode]](&wasm_future_vtable_result_unit_wasi_cli_0_3_0_types_error_code, int32(pair>>32)),
- witTypes.MakeFutureReader[witTypes.Result[witTypes.Unit, wasi_cli_0_3_0_types.ErrorCode]](&wasm_future_vtable_result_unit_wasi_cli_0_3_0_types_error_code, int32(pair&0xFFFFFFFF))
-}
-
-func LiftFutureResultUnitWasiCli030TypesErrorCode(handle int32) *witTypes.FutureReader[witTypes.Result[witTypes.Unit, wasi_cli_0_3_0_types.ErrorCode]] {
- return witTypes.MakeFutureReader[witTypes.Result[witTypes.Unit, wasi_cli_0_3_0_types.ErrorCode]](&wasm_future_vtable_result_unit_wasi_cli_0_3_0_types_error_code, handle)
-}
-
-type ErrorCode = wasi_cli_0_3_0_types.ErrorCode
-
-//go:wasmimport wasi:cli/stdout@0.3.0 write-via-stream
-func wasm_import_write_via_stream(arg0 int32) int32
-
-func WriteViaStream(data *witTypes.StreamReader[uint8]) *witTypes.FutureReader[witTypes.Result[witTypes.Unit, wasi_cli_0_3_0_types.ErrorCode]] {
-
- result := wasm_import_write_via_stream((data).TakeHandle())
- return LiftFutureResultUnitWasiCli030TypesErrorCode(result)
-
-}
diff --git a/imports/wasi_cli_0_3_0_types/empty.s b/imports/wasi_cli_0_3_0_types/empty.s
deleted file mode 100644
index 308ab60..0000000
--- a/imports/wasi_cli_0_3_0_types/empty.s
+++ /dev/null
@@ -1,3 +0,0 @@
-// This file exists for testing this package without WebAssembly,
-// allowing empty function bodies with a //go:wasmimport directive.
-// See https://pkg.go.dev/cmd/compile for more information.
\ No newline at end of file
diff --git a/imports/wasi_cli_0_3_0_types/wit_bindings.go b/imports/wasi_cli_0_3_0_types/wit_bindings.go
deleted file mode 100644
index 47521eb..0000000
--- a/imports/wasi_cli_0_3_0_types/wit_bindings.go
+++ /dev/null
@@ -1,34 +0,0 @@
-// Generated by `wit-bindgen` 0.62.0. DO NOT EDIT!
-//
-// This code was generated from the following packages:
-// wasi:io@0.2.8
-// wasi:clocks@0.2.8
-// wasi:filesystem@0.2.8
-// wasi:sockets@0.2.8
-// wasi:random@0.2.8
-// wasi:cli@0.2.8
-// wasi:config@0.2.0-rc.1
-// wasi:logging@0.1.0-draft
-// wasi:http@0.2.8
-// wasi:clocks@0.3.0
-// wasi:filesystem@0.3.0
-// wasi:sockets@0.3.0
-// wasi:random@0.3.0
-// wasi:cli@0.3.0
-// wasi:http@0.3.0
-// bytecodealliance:pkg@0.1.0
-
-package wasi_cli_0_3_0_types
-
-import ()
-
-const (
- // Input/output error
- ErrorCode_Io uint8 = 0
- // Invalid or incomplete multibyte or wide character
- ErrorCode_IllegalByteSequence uint8 = 1
- // Broken pipe
- ErrorCode_Pipe uint8 = 2
-)
-
-type ErrorCode = uint8
diff --git a/imports/wasi_clocks_0_2_8_monotonic_clock/empty.s b/imports/wasi_clocks_0_2_8_monotonic_clock/empty.s
deleted file mode 100644
index 308ab60..0000000
--- a/imports/wasi_clocks_0_2_8_monotonic_clock/empty.s
+++ /dev/null
@@ -1,3 +0,0 @@
-// This file exists for testing this package without WebAssembly,
-// allowing empty function bodies with a //go:wasmimport directive.
-// See https://pkg.go.dev/cmd/compile for more information.
\ No newline at end of file
diff --git a/imports/wasi_clocks_0_2_8_monotonic_clock/wit_bindings.go b/imports/wasi_clocks_0_2_8_monotonic_clock/wit_bindings.go
deleted file mode 100644
index 8da82df..0000000
--- a/imports/wasi_clocks_0_2_8_monotonic_clock/wit_bindings.go
+++ /dev/null
@@ -1,75 +0,0 @@
-// Generated by `wit-bindgen` 0.62.0. DO NOT EDIT!
-//
-// This code was generated from the following packages:
-// wasi:io@0.2.8
-// wasi:clocks@0.2.8
-// wasi:filesystem@0.2.8
-// wasi:sockets@0.2.8
-// wasi:random@0.2.8
-// wasi:cli@0.2.8
-// wasi:config@0.2.0-rc.1
-// wasi:logging@0.1.0-draft
-// wasi:http@0.2.8
-// wasi:clocks@0.3.0
-// wasi:filesystem@0.3.0
-// wasi:sockets@0.3.0
-// wasi:random@0.3.0
-// wasi:cli@0.3.0
-// wasi:http@0.3.0
-// bytecodealliance:pkg@0.1.0
-
-package wasi_clocks_0_2_8_monotonic_clock
-
-import (
- "go.bytecodealliance.org/pkg/imports/wasi_io_0_2_8_poll"
-)
-
-type Pollable = wasi_io_0_2_8_poll.Pollable
-
-// An instant in time, in nanoseconds. An instant is relative to an
-// unspecified initial value, and can only be compared to instances from
-// the same monotonic-clock.
-type Instant = uint64
-
-// A duration of time, in nanoseconds.
-type Duration = uint64
-
-//go:wasmimport wasi:clocks/monotonic-clock@0.2.8 now
-func wasm_import_now() int64
-
-func Now() uint64 {
-
- result := wasm_import_now()
- return uint64(result)
-
-}
-
-//go:wasmimport wasi:clocks/monotonic-clock@0.2.8 resolution
-func wasm_import_resolution() int64
-
-func Resolution() uint64 {
-
- result := wasm_import_resolution()
- return uint64(result)
-
-}
-
-//go:wasmimport wasi:clocks/monotonic-clock@0.2.8 subscribe-instant
-func wasm_import_subscribe_instant(arg0 int64) int32
-
-func SubscribeInstant(when uint64) *wasi_io_0_2_8_poll.Pollable {
-
- result := wasm_import_subscribe_instant(int64(when))
- return wasi_io_0_2_8_poll.PollableFromOwnHandle(int32(uintptr(result)))
-
-}
-
-//go:wasmimport wasi:clocks/monotonic-clock@0.2.8 subscribe-duration
-func wasm_import_subscribe_duration(arg0 int64) int32
-
-func SubscribeDuration(when uint64) *wasi_io_0_2_8_poll.Pollable {
-
- result := wasm_import_subscribe_duration(int64(when))
- return wasi_io_0_2_8_poll.PollableFromOwnHandle(int32(uintptr(result)))
-
-}
diff --git a/imports/wasi_clocks_0_2_8_wall_clock/empty.s b/imports/wasi_clocks_0_2_8_wall_clock/empty.s
deleted file mode 100644
index 308ab60..0000000
--- a/imports/wasi_clocks_0_2_8_wall_clock/empty.s
+++ /dev/null
@@ -1,3 +0,0 @@
-// This file exists for testing this package without WebAssembly,
-// allowing empty function bodies with a //go:wasmimport directive.
-// See https://pkg.go.dev/cmd/compile for more information.
\ No newline at end of file
diff --git a/imports/wasi_clocks_0_2_8_wall_clock/wit_bindings.go b/imports/wasi_clocks_0_2_8_wall_clock/wit_bindings.go
deleted file mode 100644
index ad8ef4f..0000000
--- a/imports/wasi_clocks_0_2_8_wall_clock/wit_bindings.go
+++ /dev/null
@@ -1,61 +0,0 @@
-// Generated by `wit-bindgen` 0.62.0. DO NOT EDIT!
-//
-// This code was generated from the following packages:
-// wasi:io@0.2.8
-// wasi:clocks@0.2.8
-// wasi:filesystem@0.2.8
-// wasi:sockets@0.2.8
-// wasi:random@0.2.8
-// wasi:cli@0.2.8
-// wasi:config@0.2.0-rc.1
-// wasi:logging@0.1.0-draft
-// wasi:http@0.2.8
-// wasi:clocks@0.3.0
-// wasi:filesystem@0.3.0
-// wasi:sockets@0.3.0
-// wasi:random@0.3.0
-// wasi:cli@0.3.0
-// wasi:http@0.3.0
-// bytecodealliance:pkg@0.1.0
-
-package wasi_clocks_0_2_8_wall_clock
-
-import (
- witRuntime "go.bytecodealliance.org/pkg/wit/runtime"
- "runtime"
- "unsafe"
-)
-
-// A time and date in seconds plus nanoseconds.
-type Datetime struct {
- Seconds uint64
- Nanoseconds uint32
-}
-
-//go:wasmimport wasi:clocks/wall-clock@0.2.8 now
-func wasm_import_now(arg0 uintptr)
-
-func Now() Datetime {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 16, 8))
- wasm_import_now(returnArea)
- result := Datetime{Seconds: uint64(*(*int64)(unsafe.Add(unsafe.Pointer(returnArea), 0))), Nanoseconds: uint32(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 8)))}
- return result
-
-}
-
-//go:wasmimport wasi:clocks/wall-clock@0.2.8 resolution
-func wasm_import_resolution(arg0 uintptr)
-
-func Resolution() Datetime {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 16, 8))
- wasm_import_resolution(returnArea)
- result := Datetime{Seconds: uint64(*(*int64)(unsafe.Add(unsafe.Pointer(returnArea), 0))), Nanoseconds: uint32(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 8)))}
- return result
-
-}
diff --git a/imports/wasi_clocks_0_3_0_monotonic_clock/empty.s b/imports/wasi_clocks_0_3_0_monotonic_clock/empty.s
deleted file mode 100644
index 308ab60..0000000
--- a/imports/wasi_clocks_0_3_0_monotonic_clock/empty.s
+++ /dev/null
@@ -1,3 +0,0 @@
-// This file exists for testing this package without WebAssembly,
-// allowing empty function bodies with a //go:wasmimport directive.
-// See https://pkg.go.dev/cmd/compile for more information.
\ No newline at end of file
diff --git a/imports/wasi_clocks_0_3_0_monotonic_clock/wit_bindings.go b/imports/wasi_clocks_0_3_0_monotonic_clock/wit_bindings.go
deleted file mode 100644
index 74a17cd..0000000
--- a/imports/wasi_clocks_0_3_0_monotonic_clock/wit_bindings.go
+++ /dev/null
@@ -1,70 +0,0 @@
-// Generated by `wit-bindgen` 0.62.0. DO NOT EDIT!
-//
-// This code was generated from the following packages:
-// wasi:io@0.2.8
-// wasi:clocks@0.2.8
-// wasi:filesystem@0.2.8
-// wasi:sockets@0.2.8
-// wasi:random@0.2.8
-// wasi:cli@0.2.8
-// wasi:config@0.2.0-rc.1
-// wasi:logging@0.1.0-draft
-// wasi:http@0.2.8
-// wasi:clocks@0.3.0
-// wasi:filesystem@0.3.0
-// wasi:sockets@0.3.0
-// wasi:random@0.3.0
-// wasi:cli@0.3.0
-// wasi:http@0.3.0
-// bytecodealliance:pkg@0.1.0
-
-package wasi_clocks_0_3_0_monotonic_clock
-
-import (
- witAsync "go.bytecodealliance.org/pkg/wit/async"
-)
-
-type Duration = uint64
-
-// A mark on a monotonic clock is a number of nanoseconds since an
-// unspecified initial value, and can only be compared to instances from
-// the same monotonic-clock.
-type Mark = uint64
-
-//go:wasmimport wasi:clocks/monotonic-clock@0.3.0 now
-func wasm_import_now() int64
-
-func Now() uint64 {
-
- result := wasm_import_now()
- return uint64(result)
-
-}
-
-//go:wasmimport wasi:clocks/monotonic-clock@0.3.0 get-resolution
-func wasm_import_get_resolution() int64
-
-func GetResolution() uint64 {
-
- result := wasm_import_get_resolution()
- return uint64(result)
-
-}
-
-//go:wasmimport wasi:clocks/monotonic-clock@0.3.0 [async-lower]wait-until
-func wasm_import_wait_until(arg0 int64) int32
-
-func WaitUntil(when uint64) {
-
- witAsync.SubtaskWait(uint32(wasm_import_wait_until(int64(when))))
-
-}
-
-//go:wasmimport wasi:clocks/monotonic-clock@0.3.0 [async-lower]wait-for
-func wasm_import_wait_for(arg0 int64) int32
-
-func WaitFor(howLong uint64) {
-
- witAsync.SubtaskWait(uint32(wasm_import_wait_for(int64(howLong))))
-
-}
diff --git a/imports/wasi_clocks_0_3_0_system_clock/empty.s b/imports/wasi_clocks_0_3_0_system_clock/empty.s
deleted file mode 100644
index 308ab60..0000000
--- a/imports/wasi_clocks_0_3_0_system_clock/empty.s
+++ /dev/null
@@ -1,3 +0,0 @@
-// This file exists for testing this package without WebAssembly,
-// allowing empty function bodies with a //go:wasmimport directive.
-// See https://pkg.go.dev/cmd/compile for more information.
\ No newline at end of file
diff --git a/imports/wasi_clocks_0_3_0_system_clock/wit_bindings.go b/imports/wasi_clocks_0_3_0_system_clock/wit_bindings.go
deleted file mode 100644
index 89add9a..0000000
--- a/imports/wasi_clocks_0_3_0_system_clock/wit_bindings.go
+++ /dev/null
@@ -1,74 +0,0 @@
-// Generated by `wit-bindgen` 0.62.0. DO NOT EDIT!
-//
-// This code was generated from the following packages:
-// wasi:io@0.2.8
-// wasi:clocks@0.2.8
-// wasi:filesystem@0.2.8
-// wasi:sockets@0.2.8
-// wasi:random@0.2.8
-// wasi:cli@0.2.8
-// wasi:config@0.2.0-rc.1
-// wasi:logging@0.1.0-draft
-// wasi:http@0.2.8
-// wasi:clocks@0.3.0
-// wasi:filesystem@0.3.0
-// wasi:sockets@0.3.0
-// wasi:random@0.3.0
-// wasi:cli@0.3.0
-// wasi:http@0.3.0
-// bytecodealliance:pkg@0.1.0
-
-package wasi_clocks_0_3_0_system_clock
-
-import (
- witRuntime "go.bytecodealliance.org/pkg/wit/runtime"
- "runtime"
- "unsafe"
-)
-
-type Duration = uint64
-
-// An "instant", or "exact time", is a point in time without regard to any
-// time zone: just the time since a particular external reference point,
-// often called an "epoch".
-//
-// Here, the epoch is 1970-01-01T00:00:00Z, also known as
-// [POSIX's Seconds Since the Epoch], also known as [Unix Time].
-//
-// Note that even if the seconds field is negative, incrementing
-// nanoseconds always represents moving forwards in time.
-// For example, `{ -1 seconds, 999999999 nanoseconds }` represents the
-// instant one nanosecond before the epoch.
-// For more on various different ways to represent time, see
-// https://tc39.es/proposal-temporal/docs/timezone.html
-//
-// [POSIX's Seconds Since the Epoch]: https://pubs.opengroup.org/onlinepubs/9699919799/xrat/V4_xbd_chap04.html#tag_21_04_16
-// [Unix Time]: https://en.wikipedia.org/wiki/Unix_time
-type Instant struct {
- Seconds int64
- Nanoseconds uint32
-}
-
-//go:wasmimport wasi:clocks/system-clock@0.3.0 now
-func wasm_import_now(arg0 uintptr)
-
-func Now() Instant {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 16, 8))
- wasm_import_now(returnArea)
- result := Instant{Seconds: *(*int64)(unsafe.Add(unsafe.Pointer(returnArea), 0)), Nanoseconds: uint32(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 8)))}
- return result
-
-}
-
-//go:wasmimport wasi:clocks/system-clock@0.3.0 get-resolution
-func wasm_import_get_resolution() int64
-
-func GetResolution() uint64 {
-
- result := wasm_import_get_resolution()
- return uint64(result)
-
-}
diff --git a/imports/wasi_clocks_0_3_0_types/empty.s b/imports/wasi_clocks_0_3_0_types/empty.s
deleted file mode 100644
index 308ab60..0000000
--- a/imports/wasi_clocks_0_3_0_types/empty.s
+++ /dev/null
@@ -1,3 +0,0 @@
-// This file exists for testing this package without WebAssembly,
-// allowing empty function bodies with a //go:wasmimport directive.
-// See https://pkg.go.dev/cmd/compile for more information.
\ No newline at end of file
diff --git a/imports/wasi_clocks_0_3_0_types/wit_bindings.go b/imports/wasi_clocks_0_3_0_types/wit_bindings.go
deleted file mode 100644
index 2896e26..0000000
--- a/imports/wasi_clocks_0_3_0_types/wit_bindings.go
+++ /dev/null
@@ -1,26 +0,0 @@
-// Generated by `wit-bindgen` 0.62.0. DO NOT EDIT!
-//
-// This code was generated from the following packages:
-// wasi:io@0.2.8
-// wasi:clocks@0.2.8
-// wasi:filesystem@0.2.8
-// wasi:sockets@0.2.8
-// wasi:random@0.2.8
-// wasi:cli@0.2.8
-// wasi:config@0.2.0-rc.1
-// wasi:logging@0.1.0-draft
-// wasi:http@0.2.8
-// wasi:clocks@0.3.0
-// wasi:filesystem@0.3.0
-// wasi:sockets@0.3.0
-// wasi:random@0.3.0
-// wasi:cli@0.3.0
-// wasi:http@0.3.0
-// bytecodealliance:pkg@0.1.0
-
-package wasi_clocks_0_3_0_types
-
-import ()
-
-// A duration of time, in nanoseconds.
-type Duration = uint64
diff --git a/imports/wasi_config_0_2_0_rc_1_store/empty.s b/imports/wasi_config_0_2_0_rc_1_store/empty.s
deleted file mode 100644
index 308ab60..0000000
--- a/imports/wasi_config_0_2_0_rc_1_store/empty.s
+++ /dev/null
@@ -1,3 +0,0 @@
-// This file exists for testing this package without WebAssembly,
-// allowing empty function bodies with a //go:wasmimport directive.
-// See https://pkg.go.dev/cmd/compile for more information.
\ No newline at end of file
diff --git a/imports/wasi_config_0_2_0_rc_1_store/wit_bindings.go b/imports/wasi_config_0_2_0_rc_1_store/wit_bindings.go
deleted file mode 100644
index adafd28..0000000
--- a/imports/wasi_config_0_2_0_rc_1_store/wit_bindings.go
+++ /dev/null
@@ -1,175 +0,0 @@
-// Generated by `wit-bindgen` 0.62.0. DO NOT EDIT!
-//
-// This code was generated from the following packages:
-// wasi:io@0.2.8
-// wasi:clocks@0.2.8
-// wasi:filesystem@0.2.8
-// wasi:sockets@0.2.8
-// wasi:random@0.2.8
-// wasi:cli@0.2.8
-// wasi:config@0.2.0-rc.1
-// wasi:logging@0.1.0-draft
-// wasi:http@0.2.8
-// wasi:clocks@0.3.0
-// wasi:filesystem@0.3.0
-// wasi:sockets@0.3.0
-// wasi:random@0.3.0
-// wasi:cli@0.3.0
-// wasi:http@0.3.0
-// bytecodealliance:pkg@0.1.0
-
-package wasi_config_0_2_0_rc_1_store
-
-import (
- witRuntime "go.bytecodealliance.org/pkg/wit/runtime"
- witTypes "go.bytecodealliance.org/pkg/wit/types"
- "runtime"
- "unsafe"
-)
-
-const (
- // This indicates an error from an "upstream" config source.
- // As this could be almost _anything_ (such as Vault, Kubernetes ConfigMaps, KeyValue buckets, etc),
- // the error message is a string.
- Error_Upstream uint8 = 0
- // This indicates an error from an I/O operation.
- // As this could be almost _anything_ (such as a file read, network connection, etc),
- // the error message is a string.
- // Depending on how this ends up being consumed,
- // we may consider moving this to use the `wasi:io/error` type instead.
- // For simplicity right now in supporting multiple implementations, it is being left as a string.
- Error_Io uint8 = 1
-)
-
-// An error type that encapsulates the different errors that can occur fetching configuration values.
-type Error struct {
- tag uint8
- value any
-}
-
-func (self Error) Tag() uint8 {
- return self.tag
-}
-
-func (self Error) Upstream() string {
- if self.tag != Error_Upstream {
- panic("tag mismatch")
- }
- return self.value.(string)
-}
-
-func (self Error) Io() string {
- if self.tag != Error_Io {
- panic("tag mismatch")
- }
- return self.value.(string)
-}
-
-func MakeErrorUpstream(value string) Error {
- return Error{Error_Upstream, value}
-}
-func MakeErrorIo(value string) Error {
- return Error{Error_Io, value}
-}
-
-//go:wasmimport wasi:config/store@0.2.0-rc.1 get
-func wasm_import_get(arg0 uintptr, arg1 uint32, arg2 uintptr)
-
-func Get(key string) witTypes.Result[witTypes.Option[string], Error] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, (4 * 4), 4))
- utf8 := unsafe.Pointer(unsafe.StringData(key))
- pinner.Pin(utf8)
- wasm_import_get(uintptr(utf8), uint32(len(key)), returnArea)
- var result witTypes.Result[witTypes.Option[string], Error]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
- var option witTypes.Option[string]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 4))) {
- case 0:
-
- option = witTypes.None[string]()
- case 1:
- value := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (2 * 4)))))), *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (3 * 4))))
-
- option = witTypes.Some[string](value)
- default:
- panic("unreachable")
- }
-
- result = witTypes.Ok[witTypes.Option[string], Error](option)
- case 1:
- var variant Error
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 4))) {
- case 0:
- value0 := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (2 * 4)))))), *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (3 * 4))))
-
- variant = MakeErrorUpstream(value0)
-
- case 1:
- value1 := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (2 * 4)))))), *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (3 * 4))))
-
- variant = MakeErrorIo(value1)
-
- default:
- panic("unreachable")
- }
-
- result = witTypes.Err[witTypes.Option[string], Error](variant)
- default:
- panic("unreachable")
- }
- result2 := result
- return result2
-
-}
-
-//go:wasmimport wasi:config/store@0.2.0-rc.1 get-all
-func wasm_import_get_all(arg0 uintptr)
-
-func GetAll() witTypes.Result[[]witTypes.Tuple2[string, string], Error] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, (4 * 4), 4))
- wasm_import_get_all(returnArea)
- var result3 witTypes.Result[[]witTypes.Tuple2[string, string], Error]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
- result := make([]witTypes.Tuple2[string, string], 0, *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (2 * 4))))
- for index := 0; index < int(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (2 * 4)))); index++ {
- base := unsafe.Add(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 4)))), index*(4*4))
- value := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(base), 0))))), *(*uint32)(unsafe.Add(unsafe.Pointer(base), 4)))
- value0 := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(base), (2 * 4)))))), *(*uint32)(unsafe.Add(unsafe.Pointer(base), (3 * 4))))
-
- result = append(result, witTypes.Tuple2[string, string]{F0: value, F1: value0})
- }
-
- result3 = witTypes.Ok[[]witTypes.Tuple2[string, string], Error](result)
- case 1:
- var variant Error
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 4))) {
- case 0:
- value1 := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (2 * 4)))))), *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (3 * 4))))
-
- variant = MakeErrorUpstream(value1)
-
- case 1:
- value2 := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (2 * 4)))))), *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (3 * 4))))
-
- variant = MakeErrorIo(value2)
-
- default:
- panic("unreachable")
- }
-
- result3 = witTypes.Err[[]witTypes.Tuple2[string, string], Error](variant)
- default:
- panic("unreachable")
- }
- result4 := result3
- return result4
-
-}
diff --git a/imports/wasi_filesystem_0_2_8_preopens/empty.s b/imports/wasi_filesystem_0_2_8_preopens/empty.s
deleted file mode 100644
index 308ab60..0000000
--- a/imports/wasi_filesystem_0_2_8_preopens/empty.s
+++ /dev/null
@@ -1,3 +0,0 @@
-// This file exists for testing this package without WebAssembly,
-// allowing empty function bodies with a //go:wasmimport directive.
-// See https://pkg.go.dev/cmd/compile for more information.
\ No newline at end of file
diff --git a/imports/wasi_filesystem_0_2_8_preopens/wit_bindings.go b/imports/wasi_filesystem_0_2_8_preopens/wit_bindings.go
deleted file mode 100644
index 04ce059..0000000
--- a/imports/wasi_filesystem_0_2_8_preopens/wit_bindings.go
+++ /dev/null
@@ -1,53 +0,0 @@
-// Generated by `wit-bindgen` 0.62.0. DO NOT EDIT!
-//
-// This code was generated from the following packages:
-// wasi:io@0.2.8
-// wasi:clocks@0.2.8
-// wasi:filesystem@0.2.8
-// wasi:sockets@0.2.8
-// wasi:random@0.2.8
-// wasi:cli@0.2.8
-// wasi:config@0.2.0-rc.1
-// wasi:logging@0.1.0-draft
-// wasi:http@0.2.8
-// wasi:clocks@0.3.0
-// wasi:filesystem@0.3.0
-// wasi:sockets@0.3.0
-// wasi:random@0.3.0
-// wasi:cli@0.3.0
-// wasi:http@0.3.0
-// bytecodealliance:pkg@0.1.0
-
-package wasi_filesystem_0_2_8_preopens
-
-import (
- "go.bytecodealliance.org/pkg/imports/wasi_filesystem_0_2_8_types"
- witRuntime "go.bytecodealliance.org/pkg/wit/runtime"
- witTypes "go.bytecodealliance.org/pkg/wit/types"
- "runtime"
- "unsafe"
-)
-
-type Descriptor = wasi_filesystem_0_2_8_types.Descriptor
-
-//go:wasmimport wasi:filesystem/preopens@0.2.8 get-directories
-func wasm_import_get_directories(arg0 uintptr)
-
-func GetDirectories() []witTypes.Tuple2[*wasi_filesystem_0_2_8_types.Descriptor, string] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, (2 * 4), 4))
- wasm_import_get_directories(returnArea)
- result := make([]witTypes.Tuple2[*wasi_filesystem_0_2_8_types.Descriptor, string], 0, *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 4)))
- for index := 0; index < int(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 4))); index++ {
- base := unsafe.Add(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0)))), index*(3*4))
- value := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(base), 4))))), *(*uint32)(unsafe.Add(unsafe.Pointer(base), (2 * 4))))
-
- result = append(result, witTypes.Tuple2[*wasi_filesystem_0_2_8_types.Descriptor, string]{F0: wasi_filesystem_0_2_8_types.DescriptorFromOwnHandle(int32(uintptr(*(*int32)(unsafe.Add(unsafe.Pointer(base), 0))))), F1: value})
- }
-
- result0 := result
- return result0
-
-}
diff --git a/imports/wasi_filesystem_0_2_8_types/empty.s b/imports/wasi_filesystem_0_2_8_types/empty.s
deleted file mode 100644
index 308ab60..0000000
--- a/imports/wasi_filesystem_0_2_8_types/empty.s
+++ /dev/null
@@ -1,3 +0,0 @@
-// This file exists for testing this package without WebAssembly,
-// allowing empty function bodies with a //go:wasmimport directive.
-// See https://pkg.go.dev/cmd/compile for more information.
\ No newline at end of file
diff --git a/imports/wasi_filesystem_0_2_8_types/wit_bindings.go b/imports/wasi_filesystem_0_2_8_types/wit_bindings.go
deleted file mode 100644
index 74b666f..0000000
--- a/imports/wasi_filesystem_0_2_8_types/wit_bindings.go
+++ /dev/null
@@ -1,1338 +0,0 @@
-// Generated by `wit-bindgen` 0.62.0. DO NOT EDIT!
-//
-// This code was generated from the following packages:
-// wasi:io@0.2.8
-// wasi:clocks@0.2.8
-// wasi:filesystem@0.2.8
-// wasi:sockets@0.2.8
-// wasi:random@0.2.8
-// wasi:cli@0.2.8
-// wasi:config@0.2.0-rc.1
-// wasi:logging@0.1.0-draft
-// wasi:http@0.2.8
-// wasi:clocks@0.3.0
-// wasi:filesystem@0.3.0
-// wasi:sockets@0.3.0
-// wasi:random@0.3.0
-// wasi:cli@0.3.0
-// wasi:http@0.3.0
-// bytecodealliance:pkg@0.1.0
-
-package wasi_filesystem_0_2_8_types
-
-import (
- "go.bytecodealliance.org/pkg/imports/wasi_clocks_0_2_8_wall_clock"
- "go.bytecodealliance.org/pkg/imports/wasi_io_0_2_8_error"
- "go.bytecodealliance.org/pkg/imports/wasi_io_0_2_8_streams"
- witRuntime "go.bytecodealliance.org/pkg/wit/runtime"
- witTypes "go.bytecodealliance.org/pkg/wit/types"
- "runtime"
- "unsafe"
-)
-
-type InputStream = wasi_io_0_2_8_streams.InputStream
-type OutputStream = wasi_io_0_2_8_streams.OutputStream
-type Error = wasi_io_0_2_8_error.Error
-type Datetime = wasi_clocks_0_2_8_wall_clock.Datetime
-
-// File size or length of a region within a file.
-type Filesize = uint64
-
-const (
- // The type of the descriptor or file is unknown or is different from
- // any of the other types specified.
- DescriptorType_Unknown uint8 = 0
- // The descriptor refers to a block device inode.
- DescriptorType_BlockDevice uint8 = 1
- // The descriptor refers to a character device inode.
- DescriptorType_CharacterDevice uint8 = 2
- // The descriptor refers to a directory inode.
- DescriptorType_Directory uint8 = 3
- // The descriptor refers to a named pipe.
- DescriptorType_Fifo uint8 = 4
- // The file refers to a symbolic link inode.
- DescriptorType_SymbolicLink uint8 = 5
- // The descriptor refers to a regular file inode.
- DescriptorType_RegularFile uint8 = 6
- // The descriptor refers to a socket.
- DescriptorType_Socket uint8 = 7
-)
-
-// The type of a filesystem object referenced by a descriptor.
-//
-// Note: This was called `filetype` in earlier versions of WASI.
-type DescriptorType = uint8
-
-const (
- // Read mode: Data can be read.
- DescriptorFlags_Read uint8 = 1 << 0
- // Write mode: Data can be written to.
- DescriptorFlags_Write uint8 = 1 << 1
- // Request that writes be performed according to synchronized I/O file
- // integrity completion. The data stored in the file and the file's
- // metadata are synchronized. This is similar to `O_SYNC` in POSIX.
- //
- // The precise semantics of this operation have not yet been defined for
- // WASI. At this time, it should be interpreted as a request, and not a
- // requirement.
- DescriptorFlags_FileIntegritySync uint8 = 1 << 2
- // Request that writes be performed according to synchronized I/O data
- // integrity completion. Only the data stored in the file is
- // synchronized. This is similar to `O_DSYNC` in POSIX.
- //
- // The precise semantics of this operation have not yet been defined for
- // WASI. At this time, it should be interpreted as a request, and not a
- // requirement.
- DescriptorFlags_DataIntegritySync uint8 = 1 << 3
- // Requests that reads be performed at the same level of integrity
- // requested for writes. This is similar to `O_RSYNC` in POSIX.
- //
- // The precise semantics of this operation have not yet been defined for
- // WASI. At this time, it should be interpreted as a request, and not a
- // requirement.
- DescriptorFlags_RequestedWriteSync uint8 = 1 << 4
- // Mutating directories mode: Directory contents may be mutated.
- //
- // When this flag is unset on a descriptor, operations using the
- // descriptor which would create, rename, delete, modify the data or
- // metadata of filesystem objects, or obtain another handle which
- // would permit any of those, shall fail with `error-code::read-only` if
- // they would otherwise succeed.
- //
- // This may only be set on directories.
- DescriptorFlags_MutateDirectory uint8 = 1 << 5
-)
-
-// Descriptor flags.
-//
-// Note: This was called `fdflags` in earlier versions of WASI.
-type DescriptorFlags = uint8
-
-const (
- // As long as the resolved path corresponds to a symbolic link, it is
- // expanded.
- PathFlags_SymlinkFollow uint8 = 1 << 0
-)
-
-// Flags determining the method of how paths are resolved.
-type PathFlags = uint8
-
-const (
- // Create file if it does not exist, similar to `O_CREAT` in POSIX.
- OpenFlags_Create uint8 = 1 << 0
- // Fail if not a directory, similar to `O_DIRECTORY` in POSIX.
- OpenFlags_Directory uint8 = 1 << 1
- // Fail if file already exists, similar to `O_EXCL` in POSIX.
- OpenFlags_Exclusive uint8 = 1 << 2
- // Truncate file to size 0, similar to `O_TRUNC` in POSIX.
- OpenFlags_Truncate uint8 = 1 << 3
-)
-
-// Open flags used by `open-at`.
-type OpenFlags = uint8
-
-// Number of hard links to an inode.
-type LinkCount = uint64
-
-// File attributes.
-//
-// Note: This was called `filestat` in earlier versions of WASI.
-type DescriptorStat struct {
- // File type.
- Type DescriptorType
- // Number of hard links to the file.
- LinkCount uint64
- // For regular files, the file size in bytes. For symbolic links, the
- // length in bytes of the pathname contained in the symbolic link.
- Size uint64
- // Last data access timestamp.
- //
- // If the `option` is none, the platform doesn't maintain an access
- // timestamp for this file.
- DataAccessTimestamp witTypes.Option[wasi_clocks_0_2_8_wall_clock.Datetime]
- // Last data modification timestamp.
- //
- // If the `option` is none, the platform doesn't maintain a
- // modification timestamp for this file.
- DataModificationTimestamp witTypes.Option[wasi_clocks_0_2_8_wall_clock.Datetime]
- // Last file status-change timestamp.
- //
- // If the `option` is none, the platform doesn't maintain a
- // status-change timestamp for this file.
- StatusChangeTimestamp witTypes.Option[wasi_clocks_0_2_8_wall_clock.Datetime]
-}
-
-const (
- // Leave the timestamp set to its previous value.
- NewTimestamp_NoChange uint8 = 0
- // Set the timestamp to the current time of the system clock associated
- // with the filesystem.
- NewTimestamp_Now uint8 = 1
- // Set the timestamp to the given value.
- NewTimestamp_Timestamp uint8 = 2
-)
-
-// When setting a timestamp, this gives the value to set it to.
-type NewTimestamp struct {
- tag uint8
- value any
-}
-
-func (self NewTimestamp) Tag() uint8 {
- return self.tag
-}
-
-func (self NewTimestamp) Timestamp() wasi_clocks_0_2_8_wall_clock.Datetime {
- if self.tag != NewTimestamp_Timestamp {
- panic("tag mismatch")
- }
- return self.value.(wasi_clocks_0_2_8_wall_clock.Datetime)
-}
-
-func MakeNewTimestampNoChange() NewTimestamp {
- return NewTimestamp{NewTimestamp_NoChange, nil}
-}
-func MakeNewTimestampNow() NewTimestamp {
- return NewTimestamp{NewTimestamp_Now, nil}
-}
-func MakeNewTimestampTimestamp(value wasi_clocks_0_2_8_wall_clock.Datetime) NewTimestamp {
- return NewTimestamp{NewTimestamp_Timestamp, value}
-}
-
-// A directory entry.
-type DirectoryEntry struct {
- // The type of the file referred to by this directory entry.
- Type DescriptorType
- // The name of the object.
- Name string
-}
-
-const (
- // Permission denied, similar to `EACCES` in POSIX.
- ErrorCode_Access uint8 = 0
- // Resource unavailable, or operation would block, similar to `EAGAIN` and `EWOULDBLOCK` in POSIX.
- ErrorCode_WouldBlock uint8 = 1
- // Connection already in progress, similar to `EALREADY` in POSIX.
- ErrorCode_Already uint8 = 2
- // Bad descriptor, similar to `EBADF` in POSIX.
- ErrorCode_BadDescriptor uint8 = 3
- // Device or resource busy, similar to `EBUSY` in POSIX.
- ErrorCode_Busy uint8 = 4
- // Resource deadlock would occur, similar to `EDEADLK` in POSIX.
- ErrorCode_Deadlock uint8 = 5
- // Storage quota exceeded, similar to `EDQUOT` in POSIX.
- ErrorCode_Quota uint8 = 6
- // File exists, similar to `EEXIST` in POSIX.
- ErrorCode_Exist uint8 = 7
- // File too large, similar to `EFBIG` in POSIX.
- ErrorCode_FileTooLarge uint8 = 8
- // Illegal byte sequence, similar to `EILSEQ` in POSIX.
- ErrorCode_IllegalByteSequence uint8 = 9
- // Operation in progress, similar to `EINPROGRESS` in POSIX.
- ErrorCode_InProgress uint8 = 10
- // Interrupted function, similar to `EINTR` in POSIX.
- ErrorCode_Interrupted uint8 = 11
- // Invalid argument, similar to `EINVAL` in POSIX.
- ErrorCode_Invalid uint8 = 12
- // I/O error, similar to `EIO` in POSIX.
- ErrorCode_Io uint8 = 13
- // Is a directory, similar to `EISDIR` in POSIX.
- ErrorCode_IsDirectory uint8 = 14
- // Too many levels of symbolic links, similar to `ELOOP` in POSIX.
- ErrorCode_Loop uint8 = 15
- // Too many links, similar to `EMLINK` in POSIX.
- ErrorCode_TooManyLinks uint8 = 16
- // Message too large, similar to `EMSGSIZE` in POSIX.
- ErrorCode_MessageSize uint8 = 17
- // Filename too long, similar to `ENAMETOOLONG` in POSIX.
- ErrorCode_NameTooLong uint8 = 18
- // No such device, similar to `ENODEV` in POSIX.
- ErrorCode_NoDevice uint8 = 19
- // No such file or directory, similar to `ENOENT` in POSIX.
- ErrorCode_NoEntry uint8 = 20
- // No locks available, similar to `ENOLCK` in POSIX.
- ErrorCode_NoLock uint8 = 21
- // Not enough space, similar to `ENOMEM` in POSIX.
- ErrorCode_InsufficientMemory uint8 = 22
- // No space left on device, similar to `ENOSPC` in POSIX.
- ErrorCode_InsufficientSpace uint8 = 23
- // Not a directory or a symbolic link to a directory, similar to `ENOTDIR` in POSIX.
- ErrorCode_NotDirectory uint8 = 24
- // Directory not empty, similar to `ENOTEMPTY` in POSIX.
- ErrorCode_NotEmpty uint8 = 25
- // State not recoverable, similar to `ENOTRECOVERABLE` in POSIX.
- ErrorCode_NotRecoverable uint8 = 26
- // Not supported, similar to `ENOTSUP` and `ENOSYS` in POSIX.
- ErrorCode_Unsupported uint8 = 27
- // Inappropriate I/O control operation, similar to `ENOTTY` in POSIX.
- ErrorCode_NoTty uint8 = 28
- // No such device or address, similar to `ENXIO` in POSIX.
- ErrorCode_NoSuchDevice uint8 = 29
- // Value too large to be stored in data type, similar to `EOVERFLOW` in POSIX.
- ErrorCode_Overflow uint8 = 30
- // Operation not permitted, similar to `EPERM` in POSIX.
- ErrorCode_NotPermitted uint8 = 31
- // Broken pipe, similar to `EPIPE` in POSIX.
- ErrorCode_Pipe uint8 = 32
- // Read-only file system, similar to `EROFS` in POSIX.
- ErrorCode_ReadOnly uint8 = 33
- // Invalid seek, similar to `ESPIPE` in POSIX.
- ErrorCode_InvalidSeek uint8 = 34
- // Text file busy, similar to `ETXTBSY` in POSIX.
- ErrorCode_TextFileBusy uint8 = 35
- // Cross-device link, similar to `EXDEV` in POSIX.
- ErrorCode_CrossDevice uint8 = 36
-)
-
-// Error codes returned by functions, similar to `errno` in POSIX.
-// Not all of these error codes are returned by the functions provided by this
-// API; some are used in higher-level library layers, and others are provided
-// merely for alignment with POSIX.
-type ErrorCode = uint8
-
-const (
- // The application has no advice to give on its behavior with respect
- // to the specified data.
- Advice_Normal uint8 = 0
- // The application expects to access the specified data sequentially
- // from lower offsets to higher offsets.
- Advice_Sequential uint8 = 1
- // The application expects to access the specified data in a random
- // order.
- Advice_Random uint8 = 2
- // The application expects to access the specified data in the near
- // future.
- Advice_WillNeed uint8 = 3
- // The application expects that it will not access the specified data
- // in the near future.
- Advice_DontNeed uint8 = 4
- // The application expects to access the specified data once and then
- // not reuse it thereafter.
- Advice_NoReuse uint8 = 5
-)
-
-// File or memory access pattern advisory information.
-type Advice = uint8
-
-// A 128-bit hash value, split into parts because wasm doesn't have a
-// 128-bit integer type.
-type MetadataHashValue struct {
- // 64 bits of a 128-bit hash value.
- Lower uint64
- // Another 64 bits of a 128-bit hash value.
- Upper uint64
-}
-
-//go:wasmimport wasi:filesystem/types@0.2.8 [resource-drop]descriptor
-func resourceDropDescriptor(handle int32)
-
-// A descriptor is a reference to a filesystem object, which may be a file,
-// directory, named pipe, special file, or other object on which filesystem
-// calls may be made.
-type Descriptor struct {
- handle *witRuntime.Handle
-}
-
-func (self *Descriptor) TakeHandle() int32 {
- return self.handle.Take()
-}
-
-func (self *Descriptor) SetHandle(handle int32) {
- self.handle.Set(handle)
-}
-
-func (self *Descriptor) Handle() int32 {
- return self.handle.Use()
-}
-
-func (self *Descriptor) Drop() {
- handle := self.handle.TakeOrNil()
- if handle != 0 {
- resourceDropDescriptor(handle)
- }
-}
-
-func DescriptorFromOwnHandle(handleValue int32) *Descriptor {
- handle := witRuntime.MakeHandle(handleValue)
- value := &Descriptor{handle}
- runtime.AddCleanup(value, func(_ int) {
- handleValue := handle.TakeOrNil()
- if handleValue != 0 {
- resourceDropDescriptor(handleValue)
- }
- }, 0)
- return value
-}
-
-func DescriptorFromBorrowHandle(handleValue int32) *Descriptor {
- handle := witRuntime.MakeHandle(handleValue)
- return &Descriptor{handle}
-}
-
-//go:wasmimport wasi:filesystem/types@0.2.8 [resource-drop]directory-entry-stream
-func resourceDropDirectoryEntryStream(handle int32)
-
-// A stream of directory entries.
-type DirectoryEntryStream struct {
- handle *witRuntime.Handle
-}
-
-func (self *DirectoryEntryStream) TakeHandle() int32 {
- return self.handle.Take()
-}
-
-func (self *DirectoryEntryStream) SetHandle(handle int32) {
- self.handle.Set(handle)
-}
-
-func (self *DirectoryEntryStream) Handle() int32 {
- return self.handle.Use()
-}
-
-func (self *DirectoryEntryStream) Drop() {
- handle := self.handle.TakeOrNil()
- if handle != 0 {
- resourceDropDirectoryEntryStream(handle)
- }
-}
-
-func DirectoryEntryStreamFromOwnHandle(handleValue int32) *DirectoryEntryStream {
- handle := witRuntime.MakeHandle(handleValue)
- value := &DirectoryEntryStream{handle}
- runtime.AddCleanup(value, func(_ int) {
- handleValue := handle.TakeOrNil()
- if handleValue != 0 {
- resourceDropDirectoryEntryStream(handleValue)
- }
- }, 0)
- return value
-}
-
-func DirectoryEntryStreamFromBorrowHandle(handleValue int32) *DirectoryEntryStream {
- handle := witRuntime.MakeHandle(handleValue)
- return &DirectoryEntryStream{handle}
-}
-
-//go:wasmimport wasi:filesystem/types@0.2.8 [method]descriptor.read-via-stream
-func wasm_import_method_descriptor_read_via_stream(arg0 int32, arg1 int64, arg2 uintptr)
-
-func (self *Descriptor) ReadViaStream(offset uint64) witTypes.Result[*wasi_io_0_2_8_streams.InputStream, ErrorCode] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 8, 4))
- wasm_import_method_descriptor_read_via_stream((self).Handle(), int64(offset), returnArea)
- var result witTypes.Result[*wasi_io_0_2_8_streams.InputStream, ErrorCode]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- result = witTypes.Ok[*wasi_io_0_2_8_streams.InputStream, ErrorCode](wasi_io_0_2_8_streams.InputStreamFromOwnHandle(int32(uintptr(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 4))))))
- case 1:
-
- result = witTypes.Err[*wasi_io_0_2_8_streams.InputStream, ErrorCode](uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 4)))))
- default:
- panic("unreachable")
- }
- result0 := result
- return result0
-
-}
-
-//go:wasmimport wasi:filesystem/types@0.2.8 [method]descriptor.write-via-stream
-func wasm_import_method_descriptor_write_via_stream(arg0 int32, arg1 int64, arg2 uintptr)
-
-func (self *Descriptor) WriteViaStream(offset uint64) witTypes.Result[*wasi_io_0_2_8_streams.OutputStream, ErrorCode] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 8, 4))
- wasm_import_method_descriptor_write_via_stream((self).Handle(), int64(offset), returnArea)
- var result witTypes.Result[*wasi_io_0_2_8_streams.OutputStream, ErrorCode]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- result = witTypes.Ok[*wasi_io_0_2_8_streams.OutputStream, ErrorCode](wasi_io_0_2_8_streams.OutputStreamFromOwnHandle(int32(uintptr(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 4))))))
- case 1:
-
- result = witTypes.Err[*wasi_io_0_2_8_streams.OutputStream, ErrorCode](uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 4)))))
- default:
- panic("unreachable")
- }
- result0 := result
- return result0
-
-}
-
-//go:wasmimport wasi:filesystem/types@0.2.8 [method]descriptor.append-via-stream
-func wasm_import_method_descriptor_append_via_stream(arg0 int32, arg1 uintptr)
-
-func (self *Descriptor) AppendViaStream() witTypes.Result[*wasi_io_0_2_8_streams.OutputStream, ErrorCode] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 8, 4))
- wasm_import_method_descriptor_append_via_stream((self).Handle(), returnArea)
- var result witTypes.Result[*wasi_io_0_2_8_streams.OutputStream, ErrorCode]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- result = witTypes.Ok[*wasi_io_0_2_8_streams.OutputStream, ErrorCode](wasi_io_0_2_8_streams.OutputStreamFromOwnHandle(int32(uintptr(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 4))))))
- case 1:
-
- result = witTypes.Err[*wasi_io_0_2_8_streams.OutputStream, ErrorCode](uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 4)))))
- default:
- panic("unreachable")
- }
- result0 := result
- return result0
-
-}
-
-//go:wasmimport wasi:filesystem/types@0.2.8 [method]descriptor.advise
-func wasm_import_method_descriptor_advise(arg0 int32, arg1 int64, arg2 int64, arg3 int32, arg4 uintptr)
-
-func (self *Descriptor) Advise(offset uint64, length uint64, advice Advice) witTypes.Result[witTypes.Unit, ErrorCode] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 2, 1))
- wasm_import_method_descriptor_advise((self).Handle(), int64(offset), int64(length), int32(advice), returnArea)
- var result witTypes.Result[witTypes.Unit, ErrorCode]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- result = witTypes.Ok[witTypes.Unit, ErrorCode](witTypes.Unit{})
- case 1:
-
- result = witTypes.Err[witTypes.Unit, ErrorCode](uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 1)))))
- default:
- panic("unreachable")
- }
- result0 := result
- return result0
-
-}
-
-//go:wasmimport wasi:filesystem/types@0.2.8 [method]descriptor.sync-data
-func wasm_import_method_descriptor_sync_data(arg0 int32, arg1 uintptr)
-
-func (self *Descriptor) SyncData() witTypes.Result[witTypes.Unit, ErrorCode] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 2, 1))
- wasm_import_method_descriptor_sync_data((self).Handle(), returnArea)
- var result witTypes.Result[witTypes.Unit, ErrorCode]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- result = witTypes.Ok[witTypes.Unit, ErrorCode](witTypes.Unit{})
- case 1:
-
- result = witTypes.Err[witTypes.Unit, ErrorCode](uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 1)))))
- default:
- panic("unreachable")
- }
- result0 := result
- return result0
-
-}
-
-//go:wasmimport wasi:filesystem/types@0.2.8 [method]descriptor.get-flags
-func wasm_import_method_descriptor_get_flags(arg0 int32, arg1 uintptr)
-
-func (self *Descriptor) GetFlags() witTypes.Result[DescriptorFlags, ErrorCode] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 2, 1))
- wasm_import_method_descriptor_get_flags((self).Handle(), returnArea)
- var result witTypes.Result[DescriptorFlags, ErrorCode]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- result = witTypes.Ok[DescriptorFlags, ErrorCode](uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 1)))))
- case 1:
-
- result = witTypes.Err[DescriptorFlags, ErrorCode](uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 1)))))
- default:
- panic("unreachable")
- }
- result0 := result
- return result0
-
-}
-
-//go:wasmimport wasi:filesystem/types@0.2.8 [method]descriptor.get-type
-func wasm_import_method_descriptor_get_type(arg0 int32, arg1 uintptr)
-
-func (self *Descriptor) GetType() witTypes.Result[DescriptorType, ErrorCode] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 2, 1))
- wasm_import_method_descriptor_get_type((self).Handle(), returnArea)
- var result witTypes.Result[DescriptorType, ErrorCode]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- result = witTypes.Ok[DescriptorType, ErrorCode](uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 1)))))
- case 1:
-
- result = witTypes.Err[DescriptorType, ErrorCode](uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 1)))))
- default:
- panic("unreachable")
- }
- result0 := result
- return result0
-
-}
-
-//go:wasmimport wasi:filesystem/types@0.2.8 [method]descriptor.set-size
-func wasm_import_method_descriptor_set_size(arg0 int32, arg1 int64, arg2 uintptr)
-
-func (self *Descriptor) SetSize(size uint64) witTypes.Result[witTypes.Unit, ErrorCode] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 2, 1))
- wasm_import_method_descriptor_set_size((self).Handle(), int64(size), returnArea)
- var result witTypes.Result[witTypes.Unit, ErrorCode]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- result = witTypes.Ok[witTypes.Unit, ErrorCode](witTypes.Unit{})
- case 1:
-
- result = witTypes.Err[witTypes.Unit, ErrorCode](uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 1)))))
- default:
- panic("unreachable")
- }
- result0 := result
- return result0
-
-}
-
-//go:wasmimport wasi:filesystem/types@0.2.8 [method]descriptor.set-times
-func wasm_import_method_descriptor_set_times(arg0 int32, arg1 int32, arg2 int64, arg3 int32, arg4 int32, arg5 int64, arg6 int32, arg7 uintptr)
-
-func (self *Descriptor) SetTimes(dataAccessTimestamp NewTimestamp, dataModificationTimestamp NewTimestamp) witTypes.Result[witTypes.Unit, ErrorCode] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 2, 1))
- var variant int32
- var variant0 int64
- var variant1 int32
- switch dataAccessTimestamp.Tag() {
- case NewTimestamp_NoChange:
-
- variant = int32(0)
- variant0 = 0
- variant1 = 0
-
- case NewTimestamp_Now:
-
- variant = int32(1)
- variant0 = 0
- variant1 = 0
-
- case NewTimestamp_Timestamp:
- payload := dataAccessTimestamp.Timestamp()
-
- variant = int32(2)
- variant0 = int64((payload).Seconds)
- variant1 = int32((payload).Nanoseconds)
-
- default:
- panic("unreachable")
- }
- var variant2 int32
- var variant3 int64
- var variant4 int32
- switch dataModificationTimestamp.Tag() {
- case NewTimestamp_NoChange:
-
- variant2 = int32(0)
- variant3 = 0
- variant4 = 0
-
- case NewTimestamp_Now:
-
- variant2 = int32(1)
- variant3 = 0
- variant4 = 0
-
- case NewTimestamp_Timestamp:
- payload := dataModificationTimestamp.Timestamp()
-
- variant2 = int32(2)
- variant3 = int64((payload).Seconds)
- variant4 = int32((payload).Nanoseconds)
-
- default:
- panic("unreachable")
- }
- wasm_import_method_descriptor_set_times((self).Handle(), variant, variant0, variant1, variant2, variant3, variant4, returnArea)
- var result witTypes.Result[witTypes.Unit, ErrorCode]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- result = witTypes.Ok[witTypes.Unit, ErrorCode](witTypes.Unit{})
- case 1:
-
- result = witTypes.Err[witTypes.Unit, ErrorCode](uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 1)))))
- default:
- panic("unreachable")
- }
- result5 := result
- return result5
-
-}
-
-//go:wasmimport wasi:filesystem/types@0.2.8 [method]descriptor.read
-func wasm_import_method_descriptor_read(arg0 int32, arg1 int64, arg2 int64, arg3 uintptr)
-
-func (self *Descriptor) Read(length uint64, offset uint64) witTypes.Result[witTypes.Tuple2[[]uint8, bool], ErrorCode] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, (4 * 4), 4))
- wasm_import_method_descriptor_read((self).Handle(), int64(length), int64(offset), returnArea)
- var result witTypes.Result[witTypes.Tuple2[[]uint8, bool], ErrorCode]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
- value := unsafe.Slice((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 4))))), *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (2 * 4))))
-
- result = witTypes.Ok[witTypes.Tuple2[[]uint8, bool], ErrorCode](witTypes.Tuple2[[]uint8, bool]{F0: value, F1: (uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (3 * 4)))) != 0)})
- case 1:
-
- result = witTypes.Err[witTypes.Tuple2[[]uint8, bool], ErrorCode](uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 4)))))
- default:
- panic("unreachable")
- }
- result0 := result
- return result0
-
-}
-
-//go:wasmimport wasi:filesystem/types@0.2.8 [method]descriptor.write
-func wasm_import_method_descriptor_write(arg0 int32, arg1 uintptr, arg2 uint32, arg3 int64, arg4 uintptr)
-
-func (self *Descriptor) Write(buffer []uint8, offset uint64) witTypes.Result[uint64, ErrorCode] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 16, 8))
- data := unsafe.Pointer(unsafe.SliceData(buffer))
- pinner.Pin(data)
- wasm_import_method_descriptor_write((self).Handle(), uintptr(data), uint32(len(buffer)), int64(offset), returnArea)
- var result witTypes.Result[uint64, ErrorCode]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- result = witTypes.Ok[uint64, ErrorCode](uint64(*(*int64)(unsafe.Add(unsafe.Pointer(returnArea), 8))))
- case 1:
-
- result = witTypes.Err[uint64, ErrorCode](uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 8)))))
- default:
- panic("unreachable")
- }
- result0 := result
- return result0
-
-}
-
-//go:wasmimport wasi:filesystem/types@0.2.8 [method]descriptor.read-directory
-func wasm_import_method_descriptor_read_directory(arg0 int32, arg1 uintptr)
-
-func (self *Descriptor) ReadDirectory() witTypes.Result[*DirectoryEntryStream, ErrorCode] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 8, 4))
- wasm_import_method_descriptor_read_directory((self).Handle(), returnArea)
- var result witTypes.Result[*DirectoryEntryStream, ErrorCode]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- result = witTypes.Ok[*DirectoryEntryStream, ErrorCode](DirectoryEntryStreamFromOwnHandle(int32(uintptr(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 4))))))
- case 1:
-
- result = witTypes.Err[*DirectoryEntryStream, ErrorCode](uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 4)))))
- default:
- panic("unreachable")
- }
- result0 := result
- return result0
-
-}
-
-//go:wasmimport wasi:filesystem/types@0.2.8 [method]descriptor.sync
-func wasm_import_method_descriptor_sync(arg0 int32, arg1 uintptr)
-
-func (self *Descriptor) Sync() witTypes.Result[witTypes.Unit, ErrorCode] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 2, 1))
- wasm_import_method_descriptor_sync((self).Handle(), returnArea)
- var result witTypes.Result[witTypes.Unit, ErrorCode]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- result = witTypes.Ok[witTypes.Unit, ErrorCode](witTypes.Unit{})
- case 1:
-
- result = witTypes.Err[witTypes.Unit, ErrorCode](uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 1)))))
- default:
- panic("unreachable")
- }
- result0 := result
- return result0
-
-}
-
-//go:wasmimport wasi:filesystem/types@0.2.8 [method]descriptor.create-directory-at
-func wasm_import_method_descriptor_create_directory_at(arg0 int32, arg1 uintptr, arg2 uint32, arg3 uintptr)
-
-func (self *Descriptor) CreateDirectoryAt(path string) witTypes.Result[witTypes.Unit, ErrorCode] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 2, 1))
- utf8 := unsafe.Pointer(unsafe.StringData(path))
- pinner.Pin(utf8)
- wasm_import_method_descriptor_create_directory_at((self).Handle(), uintptr(utf8), uint32(len(path)), returnArea)
- var result witTypes.Result[witTypes.Unit, ErrorCode]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- result = witTypes.Ok[witTypes.Unit, ErrorCode](witTypes.Unit{})
- case 1:
-
- result = witTypes.Err[witTypes.Unit, ErrorCode](uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 1)))))
- default:
- panic("unreachable")
- }
- result0 := result
- return result0
-
-}
-
-//go:wasmimport wasi:filesystem/types@0.2.8 [method]descriptor.stat
-func wasm_import_method_descriptor_stat(arg0 int32, arg1 uintptr)
-
-func (self *Descriptor) Stat() witTypes.Result[DescriptorStat, ErrorCode] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 104, 8))
- wasm_import_method_descriptor_stat((self).Handle(), returnArea)
- var result witTypes.Result[DescriptorStat, ErrorCode]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
- var option witTypes.Option[wasi_clocks_0_2_8_wall_clock.Datetime]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 32))) {
- case 0:
-
- option = witTypes.None[wasi_clocks_0_2_8_wall_clock.Datetime]()
- case 1:
-
- option = witTypes.Some[wasi_clocks_0_2_8_wall_clock.Datetime](wasi_clocks_0_2_8_wall_clock.Datetime{Seconds: uint64(*(*int64)(unsafe.Add(unsafe.Pointer(returnArea), 40))), Nanoseconds: uint32(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 48)))})
- default:
- panic("unreachable")
- }
- var option0 witTypes.Option[wasi_clocks_0_2_8_wall_clock.Datetime]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 56))) {
- case 0:
-
- option0 = witTypes.None[wasi_clocks_0_2_8_wall_clock.Datetime]()
- case 1:
-
- option0 = witTypes.Some[wasi_clocks_0_2_8_wall_clock.Datetime](wasi_clocks_0_2_8_wall_clock.Datetime{Seconds: uint64(*(*int64)(unsafe.Add(unsafe.Pointer(returnArea), 64))), Nanoseconds: uint32(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 72)))})
- default:
- panic("unreachable")
- }
- var option1 witTypes.Option[wasi_clocks_0_2_8_wall_clock.Datetime]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 80))) {
- case 0:
-
- option1 = witTypes.None[wasi_clocks_0_2_8_wall_clock.Datetime]()
- case 1:
-
- option1 = witTypes.Some[wasi_clocks_0_2_8_wall_clock.Datetime](wasi_clocks_0_2_8_wall_clock.Datetime{Seconds: uint64(*(*int64)(unsafe.Add(unsafe.Pointer(returnArea), 88))), Nanoseconds: uint32(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 96)))})
- default:
- panic("unreachable")
- }
-
- result = witTypes.Ok[DescriptorStat, ErrorCode](DescriptorStat{Type: uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 8)))), LinkCount: uint64(*(*int64)(unsafe.Add(unsafe.Pointer(returnArea), 16))), Size: uint64(*(*int64)(unsafe.Add(unsafe.Pointer(returnArea), 24))), DataAccessTimestamp: option, DataModificationTimestamp: option0, StatusChangeTimestamp: option1})
- case 1:
-
- result = witTypes.Err[DescriptorStat, ErrorCode](uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 8)))))
- default:
- panic("unreachable")
- }
- result2 := result
- return result2
-
-}
-
-//go:wasmimport wasi:filesystem/types@0.2.8 [method]descriptor.stat-at
-func wasm_import_method_descriptor_stat_at(arg0 int32, arg1 int32, arg2 uintptr, arg3 uint32, arg4 uintptr)
-
-func (self *Descriptor) StatAt(pathFlags PathFlags, path string) witTypes.Result[DescriptorStat, ErrorCode] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 104, 8))
- utf8 := unsafe.Pointer(unsafe.StringData(path))
- pinner.Pin(utf8)
- wasm_import_method_descriptor_stat_at((self).Handle(), int32(pathFlags), uintptr(utf8), uint32(len(path)), returnArea)
- var result witTypes.Result[DescriptorStat, ErrorCode]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
- var option witTypes.Option[wasi_clocks_0_2_8_wall_clock.Datetime]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 32))) {
- case 0:
-
- option = witTypes.None[wasi_clocks_0_2_8_wall_clock.Datetime]()
- case 1:
-
- option = witTypes.Some[wasi_clocks_0_2_8_wall_clock.Datetime](wasi_clocks_0_2_8_wall_clock.Datetime{Seconds: uint64(*(*int64)(unsafe.Add(unsafe.Pointer(returnArea), 40))), Nanoseconds: uint32(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 48)))})
- default:
- panic("unreachable")
- }
- var option0 witTypes.Option[wasi_clocks_0_2_8_wall_clock.Datetime]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 56))) {
- case 0:
-
- option0 = witTypes.None[wasi_clocks_0_2_8_wall_clock.Datetime]()
- case 1:
-
- option0 = witTypes.Some[wasi_clocks_0_2_8_wall_clock.Datetime](wasi_clocks_0_2_8_wall_clock.Datetime{Seconds: uint64(*(*int64)(unsafe.Add(unsafe.Pointer(returnArea), 64))), Nanoseconds: uint32(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 72)))})
- default:
- panic("unreachable")
- }
- var option1 witTypes.Option[wasi_clocks_0_2_8_wall_clock.Datetime]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 80))) {
- case 0:
-
- option1 = witTypes.None[wasi_clocks_0_2_8_wall_clock.Datetime]()
- case 1:
-
- option1 = witTypes.Some[wasi_clocks_0_2_8_wall_clock.Datetime](wasi_clocks_0_2_8_wall_clock.Datetime{Seconds: uint64(*(*int64)(unsafe.Add(unsafe.Pointer(returnArea), 88))), Nanoseconds: uint32(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 96)))})
- default:
- panic("unreachable")
- }
-
- result = witTypes.Ok[DescriptorStat, ErrorCode](DescriptorStat{Type: uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 8)))), LinkCount: uint64(*(*int64)(unsafe.Add(unsafe.Pointer(returnArea), 16))), Size: uint64(*(*int64)(unsafe.Add(unsafe.Pointer(returnArea), 24))), DataAccessTimestamp: option, DataModificationTimestamp: option0, StatusChangeTimestamp: option1})
- case 1:
-
- result = witTypes.Err[DescriptorStat, ErrorCode](uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 8)))))
- default:
- panic("unreachable")
- }
- result2 := result
- return result2
-
-}
-
-//go:wasmimport wasi:filesystem/types@0.2.8 [method]descriptor.set-times-at
-func wasm_import_method_descriptor_set_times_at(arg0 int32, arg1 int32, arg2 uintptr, arg3 uint32, arg4 int32, arg5 int64, arg6 int32, arg7 int32, arg8 int64, arg9 int32, arg10 uintptr)
-
-func (self *Descriptor) SetTimesAt(pathFlags PathFlags, path string, dataAccessTimestamp NewTimestamp, dataModificationTimestamp NewTimestamp) witTypes.Result[witTypes.Unit, ErrorCode] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 2, 1))
- utf8 := unsafe.Pointer(unsafe.StringData(path))
- pinner.Pin(utf8)
- var variant int32
- var variant0 int64
- var variant1 int32
- switch dataAccessTimestamp.Tag() {
- case NewTimestamp_NoChange:
-
- variant = int32(0)
- variant0 = 0
- variant1 = 0
-
- case NewTimestamp_Now:
-
- variant = int32(1)
- variant0 = 0
- variant1 = 0
-
- case NewTimestamp_Timestamp:
- payload := dataAccessTimestamp.Timestamp()
-
- variant = int32(2)
- variant0 = int64((payload).Seconds)
- variant1 = int32((payload).Nanoseconds)
-
- default:
- panic("unreachable")
- }
- var variant2 int32
- var variant3 int64
- var variant4 int32
- switch dataModificationTimestamp.Tag() {
- case NewTimestamp_NoChange:
-
- variant2 = int32(0)
- variant3 = 0
- variant4 = 0
-
- case NewTimestamp_Now:
-
- variant2 = int32(1)
- variant3 = 0
- variant4 = 0
-
- case NewTimestamp_Timestamp:
- payload := dataModificationTimestamp.Timestamp()
-
- variant2 = int32(2)
- variant3 = int64((payload).Seconds)
- variant4 = int32((payload).Nanoseconds)
-
- default:
- panic("unreachable")
- }
- wasm_import_method_descriptor_set_times_at((self).Handle(), int32(pathFlags), uintptr(utf8), uint32(len(path)), variant, variant0, variant1, variant2, variant3, variant4, returnArea)
- var result witTypes.Result[witTypes.Unit, ErrorCode]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- result = witTypes.Ok[witTypes.Unit, ErrorCode](witTypes.Unit{})
- case 1:
-
- result = witTypes.Err[witTypes.Unit, ErrorCode](uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 1)))))
- default:
- panic("unreachable")
- }
- result5 := result
- return result5
-
-}
-
-//go:wasmimport wasi:filesystem/types@0.2.8 [method]descriptor.link-at
-func wasm_import_method_descriptor_link_at(arg0 int32, arg1 int32, arg2 uintptr, arg3 uint32, arg4 int32, arg5 uintptr, arg6 uint32, arg7 uintptr)
-
-func (self *Descriptor) LinkAt(oldPathFlags PathFlags, oldPath string, newDescriptor *Descriptor, newPath string) witTypes.Result[witTypes.Unit, ErrorCode] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 2, 1))
- utf8 := unsafe.Pointer(unsafe.StringData(oldPath))
- pinner.Pin(utf8)
- utf80 := unsafe.Pointer(unsafe.StringData(newPath))
- pinner.Pin(utf80)
- wasm_import_method_descriptor_link_at((self).Handle(), int32(oldPathFlags), uintptr(utf8), uint32(len(oldPath)), (newDescriptor).Handle(), uintptr(utf80), uint32(len(newPath)), returnArea)
- var result witTypes.Result[witTypes.Unit, ErrorCode]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- result = witTypes.Ok[witTypes.Unit, ErrorCode](witTypes.Unit{})
- case 1:
-
- result = witTypes.Err[witTypes.Unit, ErrorCode](uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 1)))))
- default:
- panic("unreachable")
- }
- result1 := result
- return result1
-
-}
-
-//go:wasmimport wasi:filesystem/types@0.2.8 [method]descriptor.open-at
-func wasm_import_method_descriptor_open_at(arg0 int32, arg1 int32, arg2 uintptr, arg3 uint32, arg4 int32, arg5 int32, arg6 uintptr)
-
-func (self *Descriptor) OpenAt(pathFlags PathFlags, path string, openFlags OpenFlags, flags DescriptorFlags) witTypes.Result[*Descriptor, ErrorCode] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 8, 4))
- utf8 := unsafe.Pointer(unsafe.StringData(path))
- pinner.Pin(utf8)
- wasm_import_method_descriptor_open_at((self).Handle(), int32(pathFlags), uintptr(utf8), uint32(len(path)), int32(openFlags), int32(flags), returnArea)
- var result witTypes.Result[*Descriptor, ErrorCode]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- result = witTypes.Ok[*Descriptor, ErrorCode](DescriptorFromOwnHandle(int32(uintptr(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 4))))))
- case 1:
-
- result = witTypes.Err[*Descriptor, ErrorCode](uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 4)))))
- default:
- panic("unreachable")
- }
- result0 := result
- return result0
-
-}
-
-//go:wasmimport wasi:filesystem/types@0.2.8 [method]descriptor.readlink-at
-func wasm_import_method_descriptor_readlink_at(arg0 int32, arg1 uintptr, arg2 uint32, arg3 uintptr)
-
-func (self *Descriptor) ReadlinkAt(path string) witTypes.Result[string, ErrorCode] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, (3 * 4), 4))
- utf8 := unsafe.Pointer(unsafe.StringData(path))
- pinner.Pin(utf8)
- wasm_import_method_descriptor_readlink_at((self).Handle(), uintptr(utf8), uint32(len(path)), returnArea)
- var result witTypes.Result[string, ErrorCode]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
- value := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 4))))), *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (2 * 4))))
-
- result = witTypes.Ok[string, ErrorCode](value)
- case 1:
-
- result = witTypes.Err[string, ErrorCode](uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 4)))))
- default:
- panic("unreachable")
- }
- result0 := result
- return result0
-
-}
-
-//go:wasmimport wasi:filesystem/types@0.2.8 [method]descriptor.remove-directory-at
-func wasm_import_method_descriptor_remove_directory_at(arg0 int32, arg1 uintptr, arg2 uint32, arg3 uintptr)
-
-func (self *Descriptor) RemoveDirectoryAt(path string) witTypes.Result[witTypes.Unit, ErrorCode] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 2, 1))
- utf8 := unsafe.Pointer(unsafe.StringData(path))
- pinner.Pin(utf8)
- wasm_import_method_descriptor_remove_directory_at((self).Handle(), uintptr(utf8), uint32(len(path)), returnArea)
- var result witTypes.Result[witTypes.Unit, ErrorCode]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- result = witTypes.Ok[witTypes.Unit, ErrorCode](witTypes.Unit{})
- case 1:
-
- result = witTypes.Err[witTypes.Unit, ErrorCode](uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 1)))))
- default:
- panic("unreachable")
- }
- result0 := result
- return result0
-
-}
-
-//go:wasmimport wasi:filesystem/types@0.2.8 [method]descriptor.rename-at
-func wasm_import_method_descriptor_rename_at(arg0 int32, arg1 uintptr, arg2 uint32, arg3 int32, arg4 uintptr, arg5 uint32, arg6 uintptr)
-
-func (self *Descriptor) RenameAt(oldPath string, newDescriptor *Descriptor, newPath string) witTypes.Result[witTypes.Unit, ErrorCode] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 2, 1))
- utf8 := unsafe.Pointer(unsafe.StringData(oldPath))
- pinner.Pin(utf8)
- utf80 := unsafe.Pointer(unsafe.StringData(newPath))
- pinner.Pin(utf80)
- wasm_import_method_descriptor_rename_at((self).Handle(), uintptr(utf8), uint32(len(oldPath)), (newDescriptor).Handle(), uintptr(utf80), uint32(len(newPath)), returnArea)
- var result witTypes.Result[witTypes.Unit, ErrorCode]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- result = witTypes.Ok[witTypes.Unit, ErrorCode](witTypes.Unit{})
- case 1:
-
- result = witTypes.Err[witTypes.Unit, ErrorCode](uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 1)))))
- default:
- panic("unreachable")
- }
- result1 := result
- return result1
-
-}
-
-//go:wasmimport wasi:filesystem/types@0.2.8 [method]descriptor.symlink-at
-func wasm_import_method_descriptor_symlink_at(arg0 int32, arg1 uintptr, arg2 uint32, arg3 uintptr, arg4 uint32, arg5 uintptr)
-
-func (self *Descriptor) SymlinkAt(oldPath string, newPath string) witTypes.Result[witTypes.Unit, ErrorCode] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 2, 1))
- utf8 := unsafe.Pointer(unsafe.StringData(oldPath))
- pinner.Pin(utf8)
- utf80 := unsafe.Pointer(unsafe.StringData(newPath))
- pinner.Pin(utf80)
- wasm_import_method_descriptor_symlink_at((self).Handle(), uintptr(utf8), uint32(len(oldPath)), uintptr(utf80), uint32(len(newPath)), returnArea)
- var result witTypes.Result[witTypes.Unit, ErrorCode]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- result = witTypes.Ok[witTypes.Unit, ErrorCode](witTypes.Unit{})
- case 1:
-
- result = witTypes.Err[witTypes.Unit, ErrorCode](uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 1)))))
- default:
- panic("unreachable")
- }
- result1 := result
- return result1
-
-}
-
-//go:wasmimport wasi:filesystem/types@0.2.8 [method]descriptor.unlink-file-at
-func wasm_import_method_descriptor_unlink_file_at(arg0 int32, arg1 uintptr, arg2 uint32, arg3 uintptr)
-
-func (self *Descriptor) UnlinkFileAt(path string) witTypes.Result[witTypes.Unit, ErrorCode] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 2, 1))
- utf8 := unsafe.Pointer(unsafe.StringData(path))
- pinner.Pin(utf8)
- wasm_import_method_descriptor_unlink_file_at((self).Handle(), uintptr(utf8), uint32(len(path)), returnArea)
- var result witTypes.Result[witTypes.Unit, ErrorCode]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- result = witTypes.Ok[witTypes.Unit, ErrorCode](witTypes.Unit{})
- case 1:
-
- result = witTypes.Err[witTypes.Unit, ErrorCode](uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 1)))))
- default:
- panic("unreachable")
- }
- result0 := result
- return result0
-
-}
-
-//go:wasmimport wasi:filesystem/types@0.2.8 [method]descriptor.is-same-object
-func wasm_import_method_descriptor_is_same_object(arg0 int32, arg1 int32) int32
-
-func (self *Descriptor) IsSameObject(other *Descriptor) bool {
-
- result := wasm_import_method_descriptor_is_same_object((self).Handle(), (other).Handle())
- return (result != 0)
-
-}
-
-//go:wasmimport wasi:filesystem/types@0.2.8 [method]descriptor.metadata-hash
-func wasm_import_method_descriptor_metadata_hash(arg0 int32, arg1 uintptr)
-
-func (self *Descriptor) MetadataHash() witTypes.Result[MetadataHashValue, ErrorCode] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 24, 8))
- wasm_import_method_descriptor_metadata_hash((self).Handle(), returnArea)
- var result witTypes.Result[MetadataHashValue, ErrorCode]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- result = witTypes.Ok[MetadataHashValue, ErrorCode](MetadataHashValue{Lower: uint64(*(*int64)(unsafe.Add(unsafe.Pointer(returnArea), 8))), Upper: uint64(*(*int64)(unsafe.Add(unsafe.Pointer(returnArea), 16)))})
- case 1:
-
- result = witTypes.Err[MetadataHashValue, ErrorCode](uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 8)))))
- default:
- panic("unreachable")
- }
- result0 := result
- return result0
-
-}
-
-//go:wasmimport wasi:filesystem/types@0.2.8 [method]descriptor.metadata-hash-at
-func wasm_import_method_descriptor_metadata_hash_at(arg0 int32, arg1 int32, arg2 uintptr, arg3 uint32, arg4 uintptr)
-
-func (self *Descriptor) MetadataHashAt(pathFlags PathFlags, path string) witTypes.Result[MetadataHashValue, ErrorCode] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 24, 8))
- utf8 := unsafe.Pointer(unsafe.StringData(path))
- pinner.Pin(utf8)
- wasm_import_method_descriptor_metadata_hash_at((self).Handle(), int32(pathFlags), uintptr(utf8), uint32(len(path)), returnArea)
- var result witTypes.Result[MetadataHashValue, ErrorCode]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- result = witTypes.Ok[MetadataHashValue, ErrorCode](MetadataHashValue{Lower: uint64(*(*int64)(unsafe.Add(unsafe.Pointer(returnArea), 8))), Upper: uint64(*(*int64)(unsafe.Add(unsafe.Pointer(returnArea), 16)))})
- case 1:
-
- result = witTypes.Err[MetadataHashValue, ErrorCode](uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 8)))))
- default:
- panic("unreachable")
- }
- result0 := result
- return result0
-
-}
-
-//go:wasmimport wasi:filesystem/types@0.2.8 [method]directory-entry-stream.read-directory-entry
-func wasm_import_method_directory_entry_stream_read_directory_entry(arg0 int32, arg1 uintptr)
-
-func (self *DirectoryEntryStream) ReadDirectoryEntry() witTypes.Result[witTypes.Option[DirectoryEntry], ErrorCode] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, (5 * 4), 4))
- wasm_import_method_directory_entry_stream_read_directory_entry((self).Handle(), returnArea)
- var result witTypes.Result[witTypes.Option[DirectoryEntry], ErrorCode]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
- var option witTypes.Option[DirectoryEntry]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 4))) {
- case 0:
-
- option = witTypes.None[DirectoryEntry]()
- case 1:
- value := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (3 * 4)))))), *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (4 * 4))))
-
- option = witTypes.Some[DirectoryEntry](DirectoryEntry{Type: uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (2 * 4))))), Name: value})
- default:
- panic("unreachable")
- }
-
- result = witTypes.Ok[witTypes.Option[DirectoryEntry], ErrorCode](option)
- case 1:
-
- result = witTypes.Err[witTypes.Option[DirectoryEntry], ErrorCode](uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 4)))))
- default:
- panic("unreachable")
- }
- result0 := result
- return result0
-
-}
-
-//go:wasmimport wasi:filesystem/types@0.2.8 filesystem-error-code
-func wasm_import_filesystem_error_code(arg0 int32, arg1 uintptr)
-
-func FilesystemErrorCode(err *wasi_io_0_2_8_error.Error) witTypes.Option[ErrorCode] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 2, 1))
- wasm_import_filesystem_error_code((err).Handle(), returnArea)
- var option witTypes.Option[ErrorCode]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- option = witTypes.None[ErrorCode]()
- case 1:
-
- option = witTypes.Some[ErrorCode](uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 1)))))
- default:
- panic("unreachable")
- }
- result := option
- return result
-
-}
diff --git a/imports/wasi_http_0_2_8_incoming_handler/empty.s b/imports/wasi_http_0_2_8_incoming_handler/empty.s
deleted file mode 100644
index 308ab60..0000000
--- a/imports/wasi_http_0_2_8_incoming_handler/empty.s
+++ /dev/null
@@ -1,3 +0,0 @@
-// This file exists for testing this package without WebAssembly,
-// allowing empty function bodies with a //go:wasmimport directive.
-// See https://pkg.go.dev/cmd/compile for more information.
\ No newline at end of file
diff --git a/imports/wasi_http_0_2_8_incoming_handler/wit_bindings.go b/imports/wasi_http_0_2_8_incoming_handler/wit_bindings.go
deleted file mode 100644
index 891b788..0000000
--- a/imports/wasi_http_0_2_8_incoming_handler/wit_bindings.go
+++ /dev/null
@@ -1,28 +0,0 @@
-// Generated by `wit-bindgen` 0.62.0. DO NOT EDIT!
-//
-// This code was generated from the following packages:
-// wasi:io@0.2.8
-// wasi:clocks@0.2.8
-// wasi:filesystem@0.2.8
-// wasi:sockets@0.2.8
-// wasi:random@0.2.8
-// wasi:cli@0.2.8
-// wasi:config@0.2.0-rc.1
-// wasi:logging@0.1.0-draft
-// wasi:http@0.2.8
-// wasi:clocks@0.3.0
-// wasi:filesystem@0.3.0
-// wasi:sockets@0.3.0
-// wasi:random@0.3.0
-// wasi:cli@0.3.0
-// wasi:http@0.3.0
-// bytecodealliance:pkg@0.1.0
-
-package wasi_http_0_2_8_incoming_handler
-
-import (
- "go.bytecodealliance.org/pkg/imports/wasi_http_0_2_8_types"
-)
-
-type IncomingRequest = wasi_http_0_2_8_types.IncomingRequest
-type ResponseOutparam = wasi_http_0_2_8_types.ResponseOutparam
diff --git a/imports/wasi_http_0_2_8_outgoing_handler/empty.s b/imports/wasi_http_0_2_8_outgoing_handler/empty.s
deleted file mode 100644
index 308ab60..0000000
--- a/imports/wasi_http_0_2_8_outgoing_handler/empty.s
+++ /dev/null
@@ -1,3 +0,0 @@
-// This file exists for testing this package without WebAssembly,
-// allowing empty function bodies with a //go:wasmimport directive.
-// See https://pkg.go.dev/cmd/compile for more information.
\ No newline at end of file
diff --git a/imports/wasi_http_0_2_8_outgoing_handler/wit_bindings.go b/imports/wasi_http_0_2_8_outgoing_handler/wit_bindings.go
deleted file mode 100644
index 738d7f7..0000000
--- a/imports/wasi_http_0_2_8_outgoing_handler/wit_bindings.go
+++ /dev/null
@@ -1,486 +0,0 @@
-// Generated by `wit-bindgen` 0.62.0. DO NOT EDIT!
-//
-// This code was generated from the following packages:
-// wasi:io@0.2.8
-// wasi:clocks@0.2.8
-// wasi:filesystem@0.2.8
-// wasi:sockets@0.2.8
-// wasi:random@0.2.8
-// wasi:cli@0.2.8
-// wasi:config@0.2.0-rc.1
-// wasi:logging@0.1.0-draft
-// wasi:http@0.2.8
-// wasi:clocks@0.3.0
-// wasi:filesystem@0.3.0
-// wasi:sockets@0.3.0
-// wasi:random@0.3.0
-// wasi:cli@0.3.0
-// wasi:http@0.3.0
-// bytecodealliance:pkg@0.1.0
-
-package wasi_http_0_2_8_outgoing_handler
-
-import (
- "go.bytecodealliance.org/pkg/imports/wasi_http_0_2_8_types"
- witRuntime "go.bytecodealliance.org/pkg/wit/runtime"
- witTypes "go.bytecodealliance.org/pkg/wit/types"
- "runtime"
- "unsafe"
-)
-
-type OutgoingRequest = wasi_http_0_2_8_types.OutgoingRequest
-type RequestOptions = wasi_http_0_2_8_types.RequestOptions
-type FutureIncomingResponse = wasi_http_0_2_8_types.FutureIncomingResponse
-type ErrorCode = wasi_http_0_2_8_types.ErrorCode
-
-//go:wasmimport wasi:http/outgoing-handler@0.2.8 handle
-func wasm_import_handle(arg0 int32, arg1 int32, arg2 int32, arg3 uintptr)
-
-func Handle(request *wasi_http_0_2_8_types.OutgoingRequest, options witTypes.Option[*wasi_http_0_2_8_types.RequestOptions]) witTypes.Result[*wasi_http_0_2_8_types.FutureIncomingResponse, wasi_http_0_2_8_types.ErrorCode] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, (24 + 4*4), 8))
- var option int32
- var option0 int32
- switch options.Tag() {
- case witTypes.OptionNone:
-
- option = int32(0)
- option0 = 0
- case witTypes.OptionSome:
- payload := options.Some()
-
- option = int32(1)
- option0 = (payload).TakeHandle()
- default:
- panic("unreachable")
- }
- wasm_import_handle((request).TakeHandle(), option, option0, returnArea)
- var result witTypes.Result[*wasi_http_0_2_8_types.FutureIncomingResponse, wasi_http_0_2_8_types.ErrorCode]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- result = witTypes.Ok[*wasi_http_0_2_8_types.FutureIncomingResponse, wasi_http_0_2_8_types.ErrorCode](wasi_http_0_2_8_types.FutureIncomingResponseFromOwnHandle(int32(uintptr(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 8))))))
- case 1:
- var variant wasi_http_0_2_8_types.ErrorCode
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 8))) {
- case 0:
-
- variant = wasi_http_0_2_8_types.MakeErrorCodeDnsTimeout()
-
- case 1:
- var option1 witTypes.Option[string]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 16))) {
- case 0:
-
- option1 = witTypes.None[string]()
- case 1:
- value := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 1*4)))))), *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 2*4))))
-
- option1 = witTypes.Some[string](value)
- default:
- panic("unreachable")
- }
- var option2 witTypes.Option[uint16]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 3*4)))) {
- case 0:
-
- option2 = witTypes.None[uint16]()
- case 1:
-
- option2 = witTypes.Some[uint16](uint16(uint16(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (18 + 3*4))))))
- default:
- panic("unreachable")
- }
-
- variant = wasi_http_0_2_8_types.MakeErrorCodeDnsError(wasi_http_0_2_8_types.DnsErrorPayload{Rcode: option1, InfoCode: option2})
-
- case 2:
-
- variant = wasi_http_0_2_8_types.MakeErrorCodeDestinationNotFound()
-
- case 3:
-
- variant = wasi_http_0_2_8_types.MakeErrorCodeDestinationUnavailable()
-
- case 4:
-
- variant = wasi_http_0_2_8_types.MakeErrorCodeDestinationIpProhibited()
-
- case 5:
-
- variant = wasi_http_0_2_8_types.MakeErrorCodeDestinationIpUnroutable()
-
- case 6:
-
- variant = wasi_http_0_2_8_types.MakeErrorCodeConnectionRefused()
-
- case 7:
-
- variant = wasi_http_0_2_8_types.MakeErrorCodeConnectionTerminated()
-
- case 8:
-
- variant = wasi_http_0_2_8_types.MakeErrorCodeConnectionTimeout()
-
- case 9:
-
- variant = wasi_http_0_2_8_types.MakeErrorCodeConnectionReadTimeout()
-
- case 10:
-
- variant = wasi_http_0_2_8_types.MakeErrorCodeConnectionWriteTimeout()
-
- case 11:
-
- variant = wasi_http_0_2_8_types.MakeErrorCodeConnectionLimitReached()
-
- case 12:
-
- variant = wasi_http_0_2_8_types.MakeErrorCodeTlsProtocolError()
-
- case 13:
-
- variant = wasi_http_0_2_8_types.MakeErrorCodeTlsCertificateError()
-
- case 14:
- var option3 witTypes.Option[uint8]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 16))) {
- case 0:
-
- option3 = witTypes.None[uint8]()
- case 1:
-
- option3 = witTypes.Some[uint8](uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 17)))))
- default:
- panic("unreachable")
- }
- var option5 witTypes.Option[string]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 1*4)))) {
- case 0:
-
- option5 = witTypes.None[string]()
- case 1:
- value4 := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 2*4)))))), *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 3*4))))
-
- option5 = witTypes.Some[string](value4)
- default:
- panic("unreachable")
- }
-
- variant = wasi_http_0_2_8_types.MakeErrorCodeTlsAlertReceived(wasi_http_0_2_8_types.TlsAlertReceivedPayload{AlertId: option3, AlertMessage: option5})
-
- case 15:
-
- variant = wasi_http_0_2_8_types.MakeErrorCodeHttpRequestDenied()
-
- case 16:
-
- variant = wasi_http_0_2_8_types.MakeErrorCodeHttpRequestLengthRequired()
-
- case 17:
- var option6 witTypes.Option[uint64]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 16))) {
- case 0:
-
- option6 = witTypes.None[uint64]()
- case 1:
-
- option6 = witTypes.Some[uint64](uint64(*(*int64)(unsafe.Add(unsafe.Pointer(returnArea), 24))))
- default:
- panic("unreachable")
- }
-
- variant = wasi_http_0_2_8_types.MakeErrorCodeHttpRequestBodySize(option6)
-
- case 18:
-
- variant = wasi_http_0_2_8_types.MakeErrorCodeHttpRequestMethodInvalid()
-
- case 19:
-
- variant = wasi_http_0_2_8_types.MakeErrorCodeHttpRequestUriInvalid()
-
- case 20:
-
- variant = wasi_http_0_2_8_types.MakeErrorCodeHttpRequestUriTooLong()
-
- case 21:
- var option7 witTypes.Option[uint32]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 16))) {
- case 0:
-
- option7 = witTypes.None[uint32]()
- case 1:
-
- option7 = witTypes.Some[uint32](uint32(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 20))))
- default:
- panic("unreachable")
- }
-
- variant = wasi_http_0_2_8_types.MakeErrorCodeHttpRequestHeaderSectionSize(option7)
-
- case 22:
- var option11 witTypes.Option[wasi_http_0_2_8_types.FieldSizePayload]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 16))) {
- case 0:
-
- option11 = witTypes.None[wasi_http_0_2_8_types.FieldSizePayload]()
- case 1:
- var option9 witTypes.Option[string]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 1*4)))) {
- case 0:
-
- option9 = witTypes.None[string]()
- case 1:
- value8 := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 2*4)))))), *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 3*4))))
-
- option9 = witTypes.Some[string](value8)
- default:
- panic("unreachable")
- }
- var option10 witTypes.Option[uint32]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 4*4)))) {
- case 0:
-
- option10 = witTypes.None[uint32]()
- case 1:
-
- option10 = witTypes.Some[uint32](uint32(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), (20 + 4*4)))))
- default:
- panic("unreachable")
- }
-
- option11 = witTypes.Some[wasi_http_0_2_8_types.FieldSizePayload](wasi_http_0_2_8_types.FieldSizePayload{FieldName: option9, FieldSize: option10})
- default:
- panic("unreachable")
- }
-
- variant = wasi_http_0_2_8_types.MakeErrorCodeHttpRequestHeaderSize(option11)
-
- case 23:
- var option12 witTypes.Option[uint32]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 16))) {
- case 0:
-
- option12 = witTypes.None[uint32]()
- case 1:
-
- option12 = witTypes.Some[uint32](uint32(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 20))))
- default:
- panic("unreachable")
- }
-
- variant = wasi_http_0_2_8_types.MakeErrorCodeHttpRequestTrailerSectionSize(option12)
-
- case 24:
- var option14 witTypes.Option[string]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 16))) {
- case 0:
-
- option14 = witTypes.None[string]()
- case 1:
- value13 := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 1*4)))))), *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 2*4))))
-
- option14 = witTypes.Some[string](value13)
- default:
- panic("unreachable")
- }
- var option15 witTypes.Option[uint32]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 3*4)))) {
- case 0:
-
- option15 = witTypes.None[uint32]()
- case 1:
-
- option15 = witTypes.Some[uint32](uint32(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), (20 + 3*4)))))
- default:
- panic("unreachable")
- }
-
- variant = wasi_http_0_2_8_types.MakeErrorCodeHttpRequestTrailerSize(wasi_http_0_2_8_types.FieldSizePayload{FieldName: option14, FieldSize: option15})
-
- case 25:
-
- variant = wasi_http_0_2_8_types.MakeErrorCodeHttpResponseIncomplete()
-
- case 26:
- var option16 witTypes.Option[uint32]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 16))) {
- case 0:
-
- option16 = witTypes.None[uint32]()
- case 1:
-
- option16 = witTypes.Some[uint32](uint32(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 20))))
- default:
- panic("unreachable")
- }
-
- variant = wasi_http_0_2_8_types.MakeErrorCodeHttpResponseHeaderSectionSize(option16)
-
- case 27:
- var option18 witTypes.Option[string]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 16))) {
- case 0:
-
- option18 = witTypes.None[string]()
- case 1:
- value17 := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 1*4)))))), *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 2*4))))
-
- option18 = witTypes.Some[string](value17)
- default:
- panic("unreachable")
- }
- var option19 witTypes.Option[uint32]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 3*4)))) {
- case 0:
-
- option19 = witTypes.None[uint32]()
- case 1:
-
- option19 = witTypes.Some[uint32](uint32(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), (20 + 3*4)))))
- default:
- panic("unreachable")
- }
-
- variant = wasi_http_0_2_8_types.MakeErrorCodeHttpResponseHeaderSize(wasi_http_0_2_8_types.FieldSizePayload{FieldName: option18, FieldSize: option19})
-
- case 28:
- var option20 witTypes.Option[uint64]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 16))) {
- case 0:
-
- option20 = witTypes.None[uint64]()
- case 1:
-
- option20 = witTypes.Some[uint64](uint64(*(*int64)(unsafe.Add(unsafe.Pointer(returnArea), 24))))
- default:
- panic("unreachable")
- }
-
- variant = wasi_http_0_2_8_types.MakeErrorCodeHttpResponseBodySize(option20)
-
- case 29:
- var option21 witTypes.Option[uint32]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 16))) {
- case 0:
-
- option21 = witTypes.None[uint32]()
- case 1:
-
- option21 = witTypes.Some[uint32](uint32(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 20))))
- default:
- panic("unreachable")
- }
-
- variant = wasi_http_0_2_8_types.MakeErrorCodeHttpResponseTrailerSectionSize(option21)
-
- case 30:
- var option23 witTypes.Option[string]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 16))) {
- case 0:
-
- option23 = witTypes.None[string]()
- case 1:
- value22 := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 1*4)))))), *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 2*4))))
-
- option23 = witTypes.Some[string](value22)
- default:
- panic("unreachable")
- }
- var option24 witTypes.Option[uint32]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 3*4)))) {
- case 0:
-
- option24 = witTypes.None[uint32]()
- case 1:
-
- option24 = witTypes.Some[uint32](uint32(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), (20 + 3*4)))))
- default:
- panic("unreachable")
- }
-
- variant = wasi_http_0_2_8_types.MakeErrorCodeHttpResponseTrailerSize(wasi_http_0_2_8_types.FieldSizePayload{FieldName: option23, FieldSize: option24})
-
- case 31:
- var option26 witTypes.Option[string]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 16))) {
- case 0:
-
- option26 = witTypes.None[string]()
- case 1:
- value25 := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 1*4)))))), *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 2*4))))
-
- option26 = witTypes.Some[string](value25)
- default:
- panic("unreachable")
- }
-
- variant = wasi_http_0_2_8_types.MakeErrorCodeHttpResponseTransferCoding(option26)
-
- case 32:
- var option28 witTypes.Option[string]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 16))) {
- case 0:
-
- option28 = witTypes.None[string]()
- case 1:
- value27 := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 1*4)))))), *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 2*4))))
-
- option28 = witTypes.Some[string](value27)
- default:
- panic("unreachable")
- }
-
- variant = wasi_http_0_2_8_types.MakeErrorCodeHttpResponseContentCoding(option28)
-
- case 33:
-
- variant = wasi_http_0_2_8_types.MakeErrorCodeHttpResponseTimeout()
-
- case 34:
-
- variant = wasi_http_0_2_8_types.MakeErrorCodeHttpUpgradeFailed()
-
- case 35:
-
- variant = wasi_http_0_2_8_types.MakeErrorCodeHttpProtocolError()
-
- case 36:
-
- variant = wasi_http_0_2_8_types.MakeErrorCodeLoopDetected()
-
- case 37:
-
- variant = wasi_http_0_2_8_types.MakeErrorCodeConfigurationError()
-
- case 38:
- var option30 witTypes.Option[string]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 16))) {
- case 0:
-
- option30 = witTypes.None[string]()
- case 1:
- value29 := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 1*4)))))), *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 2*4))))
-
- option30 = witTypes.Some[string](value29)
- default:
- panic("unreachable")
- }
-
- variant = wasi_http_0_2_8_types.MakeErrorCodeInternalError(option30)
-
- default:
- panic("unreachable")
- }
-
- result = witTypes.Err[*wasi_http_0_2_8_types.FutureIncomingResponse, wasi_http_0_2_8_types.ErrorCode](variant)
- default:
- panic("unreachable")
- }
- result31 := result
- return result31
-
-}
diff --git a/imports/wasi_http_0_2_8_types/empty.s b/imports/wasi_http_0_2_8_types/empty.s
deleted file mode 100644
index 308ab60..0000000
--- a/imports/wasi_http_0_2_8_types/empty.s
+++ /dev/null
@@ -1,3 +0,0 @@
-// This file exists for testing this package without WebAssembly,
-// allowing empty function bodies with a //go:wasmimport directive.
-// See https://pkg.go.dev/cmd/compile for more information.
\ No newline at end of file
diff --git a/imports/wasi_http_0_2_8_types/wit_bindings.go b/imports/wasi_http_0_2_8_types/wit_bindings.go
deleted file mode 100644
index 491d6d3..0000000
--- a/imports/wasi_http_0_2_8_types/wit_bindings.go
+++ /dev/null
@@ -1,5013 +0,0 @@
-// Generated by `wit-bindgen` 0.62.0. DO NOT EDIT!
-//
-// This code was generated from the following packages:
-// wasi:io@0.2.8
-// wasi:clocks@0.2.8
-// wasi:filesystem@0.2.8
-// wasi:sockets@0.2.8
-// wasi:random@0.2.8
-// wasi:cli@0.2.8
-// wasi:config@0.2.0-rc.1
-// wasi:logging@0.1.0-draft
-// wasi:http@0.2.8
-// wasi:clocks@0.3.0
-// wasi:filesystem@0.3.0
-// wasi:sockets@0.3.0
-// wasi:random@0.3.0
-// wasi:cli@0.3.0
-// wasi:http@0.3.0
-// bytecodealliance:pkg@0.1.0
-
-package wasi_http_0_2_8_types
-
-import (
- "go.bytecodealliance.org/pkg/imports/wasi_io_0_2_8_error"
- "go.bytecodealliance.org/pkg/imports/wasi_io_0_2_8_poll"
- "go.bytecodealliance.org/pkg/imports/wasi_io_0_2_8_streams"
- witRuntime "go.bytecodealliance.org/pkg/wit/runtime"
- witTypes "go.bytecodealliance.org/pkg/wit/types"
- "runtime"
- "unsafe"
-)
-
-type Duration = uint64
-type InputStream = wasi_io_0_2_8_streams.InputStream
-type OutputStream = wasi_io_0_2_8_streams.OutputStream
-type IoError = wasi_io_0_2_8_error.Error
-type Pollable = wasi_io_0_2_8_poll.Pollable
-
-const (
- Method_Get uint8 = 0
- Method_Head uint8 = 1
- Method_Post uint8 = 2
- Method_Put uint8 = 3
- Method_Delete uint8 = 4
- Method_Connect uint8 = 5
- Method_Options uint8 = 6
- Method_Trace uint8 = 7
- Method_Patch uint8 = 8
- Method_Other uint8 = 9
-)
-
-// This type corresponds to HTTP standard Methods.
-type Method struct {
- tag uint8
- value any
-}
-
-func (self Method) Tag() uint8 {
- return self.tag
-}
-
-func (self Method) Other() string {
- if self.tag != Method_Other {
- panic("tag mismatch")
- }
- return self.value.(string)
-}
-
-func MakeMethodGet() Method {
- return Method{Method_Get, nil}
-}
-func MakeMethodHead() Method {
- return Method{Method_Head, nil}
-}
-func MakeMethodPost() Method {
- return Method{Method_Post, nil}
-}
-func MakeMethodPut() Method {
- return Method{Method_Put, nil}
-}
-func MakeMethodDelete() Method {
- return Method{Method_Delete, nil}
-}
-func MakeMethodConnect() Method {
- return Method{Method_Connect, nil}
-}
-func MakeMethodOptions() Method {
- return Method{Method_Options, nil}
-}
-func MakeMethodTrace() Method {
- return Method{Method_Trace, nil}
-}
-func MakeMethodPatch() Method {
- return Method{Method_Patch, nil}
-}
-func MakeMethodOther(value string) Method {
- return Method{Method_Other, value}
-}
-
-const (
- Scheme_Http uint8 = 0
- Scheme_Https uint8 = 1
- Scheme_Other uint8 = 2
-)
-
-// This type corresponds to HTTP standard Related Schemes.
-type Scheme struct {
- tag uint8
- value any
-}
-
-func (self Scheme) Tag() uint8 {
- return self.tag
-}
-
-func (self Scheme) Other() string {
- if self.tag != Scheme_Other {
- panic("tag mismatch")
- }
- return self.value.(string)
-}
-
-func MakeSchemeHttp() Scheme {
- return Scheme{Scheme_Http, nil}
-}
-func MakeSchemeHttps() Scheme {
- return Scheme{Scheme_Https, nil}
-}
-func MakeSchemeOther(value string) Scheme {
- return Scheme{Scheme_Other, value}
-}
-
-// Defines the case payload type for `DNS-error` above:
-type DnsErrorPayload struct {
- Rcode witTypes.Option[string]
- InfoCode witTypes.Option[uint16]
-}
-
-// Defines the case payload type for `TLS-alert-received` above:
-type TlsAlertReceivedPayload struct {
- AlertId witTypes.Option[uint8]
- AlertMessage witTypes.Option[string]
-}
-
-// Defines the case payload type for `HTTP-response-{header,trailer}-size` above:
-type FieldSizePayload struct {
- FieldName witTypes.Option[string]
- FieldSize witTypes.Option[uint32]
-}
-
-const (
- ErrorCode_DnsTimeout uint8 = 0
- ErrorCode_DnsError uint8 = 1
- ErrorCode_DestinationNotFound uint8 = 2
- ErrorCode_DestinationUnavailable uint8 = 3
- ErrorCode_DestinationIpProhibited uint8 = 4
- ErrorCode_DestinationIpUnroutable uint8 = 5
- ErrorCode_ConnectionRefused uint8 = 6
- ErrorCode_ConnectionTerminated uint8 = 7
- ErrorCode_ConnectionTimeout uint8 = 8
- ErrorCode_ConnectionReadTimeout uint8 = 9
- ErrorCode_ConnectionWriteTimeout uint8 = 10
- ErrorCode_ConnectionLimitReached uint8 = 11
- ErrorCode_TlsProtocolError uint8 = 12
- ErrorCode_TlsCertificateError uint8 = 13
- ErrorCode_TlsAlertReceived uint8 = 14
- ErrorCode_HttpRequestDenied uint8 = 15
- ErrorCode_HttpRequestLengthRequired uint8 = 16
- ErrorCode_HttpRequestBodySize uint8 = 17
- ErrorCode_HttpRequestMethodInvalid uint8 = 18
- ErrorCode_HttpRequestUriInvalid uint8 = 19
- ErrorCode_HttpRequestUriTooLong uint8 = 20
- ErrorCode_HttpRequestHeaderSectionSize uint8 = 21
- ErrorCode_HttpRequestHeaderSize uint8 = 22
- ErrorCode_HttpRequestTrailerSectionSize uint8 = 23
- ErrorCode_HttpRequestTrailerSize uint8 = 24
- ErrorCode_HttpResponseIncomplete uint8 = 25
- ErrorCode_HttpResponseHeaderSectionSize uint8 = 26
- ErrorCode_HttpResponseHeaderSize uint8 = 27
- ErrorCode_HttpResponseBodySize uint8 = 28
- ErrorCode_HttpResponseTrailerSectionSize uint8 = 29
- ErrorCode_HttpResponseTrailerSize uint8 = 30
- ErrorCode_HttpResponseTransferCoding uint8 = 31
- ErrorCode_HttpResponseContentCoding uint8 = 32
- ErrorCode_HttpResponseTimeout uint8 = 33
- ErrorCode_HttpUpgradeFailed uint8 = 34
- ErrorCode_HttpProtocolError uint8 = 35
- ErrorCode_LoopDetected uint8 = 36
- ErrorCode_ConfigurationError uint8 = 37
- // This is a catch-all error for anything that doesn't fit cleanly into a
- // more specific case. It also includes an optional string for an
- // unstructured description of the error. Users should not depend on the
- // string for diagnosing errors, as it's not required to be consistent
- // between implementations.
- ErrorCode_InternalError uint8 = 38
-)
-
-// These cases are inspired by the IANA HTTP Proxy Error Types:
-//
-//
-type ErrorCode struct {
- tag uint8
- value any
-}
-
-func (self ErrorCode) Tag() uint8 {
- return self.tag
-}
-
-func (self ErrorCode) DnsError() DnsErrorPayload {
- if self.tag != ErrorCode_DnsError {
- panic("tag mismatch")
- }
- return self.value.(DnsErrorPayload)
-}
-
-func (self ErrorCode) TlsAlertReceived() TlsAlertReceivedPayload {
- if self.tag != ErrorCode_TlsAlertReceived {
- panic("tag mismatch")
- }
- return self.value.(TlsAlertReceivedPayload)
-}
-
-func (self ErrorCode) HttpRequestBodySize() witTypes.Option[uint64] {
- if self.tag != ErrorCode_HttpRequestBodySize {
- panic("tag mismatch")
- }
- return self.value.(witTypes.Option[uint64])
-}
-
-func (self ErrorCode) HttpRequestHeaderSectionSize() witTypes.Option[uint32] {
- if self.tag != ErrorCode_HttpRequestHeaderSectionSize {
- panic("tag mismatch")
- }
- return self.value.(witTypes.Option[uint32])
-}
-
-func (self ErrorCode) HttpRequestHeaderSize() witTypes.Option[FieldSizePayload] {
- if self.tag != ErrorCode_HttpRequestHeaderSize {
- panic("tag mismatch")
- }
- return self.value.(witTypes.Option[FieldSizePayload])
-}
-
-func (self ErrorCode) HttpRequestTrailerSectionSize() witTypes.Option[uint32] {
- if self.tag != ErrorCode_HttpRequestTrailerSectionSize {
- panic("tag mismatch")
- }
- return self.value.(witTypes.Option[uint32])
-}
-
-func (self ErrorCode) HttpRequestTrailerSize() FieldSizePayload {
- if self.tag != ErrorCode_HttpRequestTrailerSize {
- panic("tag mismatch")
- }
- return self.value.(FieldSizePayload)
-}
-
-func (self ErrorCode) HttpResponseHeaderSectionSize() witTypes.Option[uint32] {
- if self.tag != ErrorCode_HttpResponseHeaderSectionSize {
- panic("tag mismatch")
- }
- return self.value.(witTypes.Option[uint32])
-}
-
-func (self ErrorCode) HttpResponseHeaderSize() FieldSizePayload {
- if self.tag != ErrorCode_HttpResponseHeaderSize {
- panic("tag mismatch")
- }
- return self.value.(FieldSizePayload)
-}
-
-func (self ErrorCode) HttpResponseBodySize() witTypes.Option[uint64] {
- if self.tag != ErrorCode_HttpResponseBodySize {
- panic("tag mismatch")
- }
- return self.value.(witTypes.Option[uint64])
-}
-
-func (self ErrorCode) HttpResponseTrailerSectionSize() witTypes.Option[uint32] {
- if self.tag != ErrorCode_HttpResponseTrailerSectionSize {
- panic("tag mismatch")
- }
- return self.value.(witTypes.Option[uint32])
-}
-
-func (self ErrorCode) HttpResponseTrailerSize() FieldSizePayload {
- if self.tag != ErrorCode_HttpResponseTrailerSize {
- panic("tag mismatch")
- }
- return self.value.(FieldSizePayload)
-}
-
-func (self ErrorCode) HttpResponseTransferCoding() witTypes.Option[string] {
- if self.tag != ErrorCode_HttpResponseTransferCoding {
- panic("tag mismatch")
- }
- return self.value.(witTypes.Option[string])
-}
-
-func (self ErrorCode) HttpResponseContentCoding() witTypes.Option[string] {
- if self.tag != ErrorCode_HttpResponseContentCoding {
- panic("tag mismatch")
- }
- return self.value.(witTypes.Option[string])
-}
-
-func (self ErrorCode) InternalError() witTypes.Option[string] {
- if self.tag != ErrorCode_InternalError {
- panic("tag mismatch")
- }
- return self.value.(witTypes.Option[string])
-}
-
-func MakeErrorCodeDnsTimeout() ErrorCode {
- return ErrorCode{ErrorCode_DnsTimeout, nil}
-}
-func MakeErrorCodeDnsError(value DnsErrorPayload) ErrorCode {
- return ErrorCode{ErrorCode_DnsError, value}
-}
-func MakeErrorCodeDestinationNotFound() ErrorCode {
- return ErrorCode{ErrorCode_DestinationNotFound, nil}
-}
-func MakeErrorCodeDestinationUnavailable() ErrorCode {
- return ErrorCode{ErrorCode_DestinationUnavailable, nil}
-}
-func MakeErrorCodeDestinationIpProhibited() ErrorCode {
- return ErrorCode{ErrorCode_DestinationIpProhibited, nil}
-}
-func MakeErrorCodeDestinationIpUnroutable() ErrorCode {
- return ErrorCode{ErrorCode_DestinationIpUnroutable, nil}
-}
-func MakeErrorCodeConnectionRefused() ErrorCode {
- return ErrorCode{ErrorCode_ConnectionRefused, nil}
-}
-func MakeErrorCodeConnectionTerminated() ErrorCode {
- return ErrorCode{ErrorCode_ConnectionTerminated, nil}
-}
-func MakeErrorCodeConnectionTimeout() ErrorCode {
- return ErrorCode{ErrorCode_ConnectionTimeout, nil}
-}
-func MakeErrorCodeConnectionReadTimeout() ErrorCode {
- return ErrorCode{ErrorCode_ConnectionReadTimeout, nil}
-}
-func MakeErrorCodeConnectionWriteTimeout() ErrorCode {
- return ErrorCode{ErrorCode_ConnectionWriteTimeout, nil}
-}
-func MakeErrorCodeConnectionLimitReached() ErrorCode {
- return ErrorCode{ErrorCode_ConnectionLimitReached, nil}
-}
-func MakeErrorCodeTlsProtocolError() ErrorCode {
- return ErrorCode{ErrorCode_TlsProtocolError, nil}
-}
-func MakeErrorCodeTlsCertificateError() ErrorCode {
- return ErrorCode{ErrorCode_TlsCertificateError, nil}
-}
-func MakeErrorCodeTlsAlertReceived(value TlsAlertReceivedPayload) ErrorCode {
- return ErrorCode{ErrorCode_TlsAlertReceived, value}
-}
-func MakeErrorCodeHttpRequestDenied() ErrorCode {
- return ErrorCode{ErrorCode_HttpRequestDenied, nil}
-}
-func MakeErrorCodeHttpRequestLengthRequired() ErrorCode {
- return ErrorCode{ErrorCode_HttpRequestLengthRequired, nil}
-}
-func MakeErrorCodeHttpRequestBodySize(value witTypes.Option[uint64]) ErrorCode {
- return ErrorCode{ErrorCode_HttpRequestBodySize, value}
-}
-func MakeErrorCodeHttpRequestMethodInvalid() ErrorCode {
- return ErrorCode{ErrorCode_HttpRequestMethodInvalid, nil}
-}
-func MakeErrorCodeHttpRequestUriInvalid() ErrorCode {
- return ErrorCode{ErrorCode_HttpRequestUriInvalid, nil}
-}
-func MakeErrorCodeHttpRequestUriTooLong() ErrorCode {
- return ErrorCode{ErrorCode_HttpRequestUriTooLong, nil}
-}
-func MakeErrorCodeHttpRequestHeaderSectionSize(value witTypes.Option[uint32]) ErrorCode {
- return ErrorCode{ErrorCode_HttpRequestHeaderSectionSize, value}
-}
-func MakeErrorCodeHttpRequestHeaderSize(value witTypes.Option[FieldSizePayload]) ErrorCode {
- return ErrorCode{ErrorCode_HttpRequestHeaderSize, value}
-}
-func MakeErrorCodeHttpRequestTrailerSectionSize(value witTypes.Option[uint32]) ErrorCode {
- return ErrorCode{ErrorCode_HttpRequestTrailerSectionSize, value}
-}
-func MakeErrorCodeHttpRequestTrailerSize(value FieldSizePayload) ErrorCode {
- return ErrorCode{ErrorCode_HttpRequestTrailerSize, value}
-}
-func MakeErrorCodeHttpResponseIncomplete() ErrorCode {
- return ErrorCode{ErrorCode_HttpResponseIncomplete, nil}
-}
-func MakeErrorCodeHttpResponseHeaderSectionSize(value witTypes.Option[uint32]) ErrorCode {
- return ErrorCode{ErrorCode_HttpResponseHeaderSectionSize, value}
-}
-func MakeErrorCodeHttpResponseHeaderSize(value FieldSizePayload) ErrorCode {
- return ErrorCode{ErrorCode_HttpResponseHeaderSize, value}
-}
-func MakeErrorCodeHttpResponseBodySize(value witTypes.Option[uint64]) ErrorCode {
- return ErrorCode{ErrorCode_HttpResponseBodySize, value}
-}
-func MakeErrorCodeHttpResponseTrailerSectionSize(value witTypes.Option[uint32]) ErrorCode {
- return ErrorCode{ErrorCode_HttpResponseTrailerSectionSize, value}
-}
-func MakeErrorCodeHttpResponseTrailerSize(value FieldSizePayload) ErrorCode {
- return ErrorCode{ErrorCode_HttpResponseTrailerSize, value}
-}
-func MakeErrorCodeHttpResponseTransferCoding(value witTypes.Option[string]) ErrorCode {
- return ErrorCode{ErrorCode_HttpResponseTransferCoding, value}
-}
-func MakeErrorCodeHttpResponseContentCoding(value witTypes.Option[string]) ErrorCode {
- return ErrorCode{ErrorCode_HttpResponseContentCoding, value}
-}
-func MakeErrorCodeHttpResponseTimeout() ErrorCode {
- return ErrorCode{ErrorCode_HttpResponseTimeout, nil}
-}
-func MakeErrorCodeHttpUpgradeFailed() ErrorCode {
- return ErrorCode{ErrorCode_HttpUpgradeFailed, nil}
-}
-func MakeErrorCodeHttpProtocolError() ErrorCode {
- return ErrorCode{ErrorCode_HttpProtocolError, nil}
-}
-func MakeErrorCodeLoopDetected() ErrorCode {
- return ErrorCode{ErrorCode_LoopDetected, nil}
-}
-func MakeErrorCodeConfigurationError() ErrorCode {
- return ErrorCode{ErrorCode_ConfigurationError, nil}
-}
-func MakeErrorCodeInternalError(value witTypes.Option[string]) ErrorCode {
- return ErrorCode{ErrorCode_InternalError, value}
-}
-
-const (
- // This error indicates that a `field-name` or `field-value` was
- // syntactically invalid when used with an operation that sets headers in a
- // `fields`.
- HeaderError_InvalidSyntax uint8 = 0
- // This error indicates that a forbidden `field-name` was used when trying
- // to set a header in a `fields`.
- HeaderError_Forbidden uint8 = 1
- // This error indicates that the operation on the `fields` was not
- // permitted because the fields are immutable.
- HeaderError_Immutable uint8 = 2
-)
-
-// This type enumerates the different kinds of errors that may occur when
-// setting or appending to a `fields` resource.
-type HeaderError struct {
- tag uint8
- value any
-}
-
-func (self HeaderError) Tag() uint8 {
- return self.tag
-}
-
-func MakeHeaderErrorInvalidSyntax() HeaderError {
- return HeaderError{HeaderError_InvalidSyntax, nil}
-}
-func MakeHeaderErrorForbidden() HeaderError {
- return HeaderError{HeaderError_Forbidden, nil}
-}
-func MakeHeaderErrorImmutable() HeaderError {
- return HeaderError{HeaderError_Immutable, nil}
-}
-
-// Field keys are always strings.
-//
-// Field keys should always be treated as case insensitive by the `fields`
-// resource for the purposes of equality checking.
-//
-// # Deprecation
-//
-// This type has been deprecated in favor of the `field-name` type.
-type FieldKey = string
-
-// Field names are always strings.
-//
-// Field names should always be treated as case insensitive by the `fields`
-// resource for the purposes of equality checking.
-type FieldName = string
-
-// Field values should always be ASCII strings. However, in
-// reality, HTTP implementations often have to interpret malformed values,
-// so they are provided as a list of bytes.
-type FieldValue = []uint8
-
-//go:wasmimport wasi:http/types@0.2.8 [resource-drop]fields
-func resourceDropFields(handle int32)
-
-// This following block defines the `fields` resource which corresponds to
-// HTTP standard Fields. Fields are a common representation used for both
-// Headers and Trailers.
-//
-// A `fields` may be mutable or immutable. A `fields` created using the
-// constructor, `from-list`, or `clone` will be mutable, but a `fields`
-// resource given by other means (including, but not limited to,
-// `incoming-request.headers`, `outgoing-request.headers`) might be
-// immutable. In an immutable fields, the `set`, `append`, and `delete`
-// operations will fail with `header-error.immutable`.
-type Fields struct {
- handle *witRuntime.Handle
-}
-
-func (self *Fields) TakeHandle() int32 {
- return self.handle.Take()
-}
-
-func (self *Fields) SetHandle(handle int32) {
- self.handle.Set(handle)
-}
-
-func (self *Fields) Handle() int32 {
- return self.handle.Use()
-}
-
-func (self *Fields) Drop() {
- handle := self.handle.TakeOrNil()
- if handle != 0 {
- resourceDropFields(handle)
- }
-}
-
-func FieldsFromOwnHandle(handleValue int32) *Fields {
- handle := witRuntime.MakeHandle(handleValue)
- value := &Fields{handle}
- runtime.AddCleanup(value, func(_ int) {
- handleValue := handle.TakeOrNil()
- if handleValue != 0 {
- resourceDropFields(handleValue)
- }
- }, 0)
- return value
-}
-
-func FieldsFromBorrowHandle(handleValue int32) *Fields {
- handle := witRuntime.MakeHandle(handleValue)
- return &Fields{handle}
-}
-
-// Headers is an alias for Fields.
-type Headers = Fields
-
-// Trailers is an alias for Fields.
-type Trailers = Fields
-
-//go:wasmimport wasi:http/types@0.2.8 [resource-drop]incoming-request
-func resourceDropIncomingRequest(handle int32)
-
-// Represents an incoming HTTP Request.
-type IncomingRequest struct {
- handle *witRuntime.Handle
-}
-
-func (self *IncomingRequest) TakeHandle() int32 {
- return self.handle.Take()
-}
-
-func (self *IncomingRequest) SetHandle(handle int32) {
- self.handle.Set(handle)
-}
-
-func (self *IncomingRequest) Handle() int32 {
- return self.handle.Use()
-}
-
-func (self *IncomingRequest) Drop() {
- handle := self.handle.TakeOrNil()
- if handle != 0 {
- resourceDropIncomingRequest(handle)
- }
-}
-
-func IncomingRequestFromOwnHandle(handleValue int32) *IncomingRequest {
- handle := witRuntime.MakeHandle(handleValue)
- value := &IncomingRequest{handle}
- runtime.AddCleanup(value, func(_ int) {
- handleValue := handle.TakeOrNil()
- if handleValue != 0 {
- resourceDropIncomingRequest(handleValue)
- }
- }, 0)
- return value
-}
-
-func IncomingRequestFromBorrowHandle(handleValue int32) *IncomingRequest {
- handle := witRuntime.MakeHandle(handleValue)
- return &IncomingRequest{handle}
-}
-
-//go:wasmimport wasi:http/types@0.2.8 [resource-drop]outgoing-request
-func resourceDropOutgoingRequest(handle int32)
-
-// Represents an outgoing HTTP Request.
-type OutgoingRequest struct {
- handle *witRuntime.Handle
-}
-
-func (self *OutgoingRequest) TakeHandle() int32 {
- return self.handle.Take()
-}
-
-func (self *OutgoingRequest) SetHandle(handle int32) {
- self.handle.Set(handle)
-}
-
-func (self *OutgoingRequest) Handle() int32 {
- return self.handle.Use()
-}
-
-func (self *OutgoingRequest) Drop() {
- handle := self.handle.TakeOrNil()
- if handle != 0 {
- resourceDropOutgoingRequest(handle)
- }
-}
-
-func OutgoingRequestFromOwnHandle(handleValue int32) *OutgoingRequest {
- handle := witRuntime.MakeHandle(handleValue)
- value := &OutgoingRequest{handle}
- runtime.AddCleanup(value, func(_ int) {
- handleValue := handle.TakeOrNil()
- if handleValue != 0 {
- resourceDropOutgoingRequest(handleValue)
- }
- }, 0)
- return value
-}
-
-func OutgoingRequestFromBorrowHandle(handleValue int32) *OutgoingRequest {
- handle := witRuntime.MakeHandle(handleValue)
- return &OutgoingRequest{handle}
-}
-
-//go:wasmimport wasi:http/types@0.2.8 [resource-drop]request-options
-func resourceDropRequestOptions(handle int32)
-
-// Parameters for making an HTTP Request. Each of these parameters is
-// currently an optional timeout applicable to the transport layer of the
-// HTTP protocol.
-//
-// These timeouts are separate from any the user may use to bound a
-// blocking call to `wasi:io/poll.poll`.
-type RequestOptions struct {
- handle *witRuntime.Handle
-}
-
-func (self *RequestOptions) TakeHandle() int32 {
- return self.handle.Take()
-}
-
-func (self *RequestOptions) SetHandle(handle int32) {
- self.handle.Set(handle)
-}
-
-func (self *RequestOptions) Handle() int32 {
- return self.handle.Use()
-}
-
-func (self *RequestOptions) Drop() {
- handle := self.handle.TakeOrNil()
- if handle != 0 {
- resourceDropRequestOptions(handle)
- }
-}
-
-func RequestOptionsFromOwnHandle(handleValue int32) *RequestOptions {
- handle := witRuntime.MakeHandle(handleValue)
- value := &RequestOptions{handle}
- runtime.AddCleanup(value, func(_ int) {
- handleValue := handle.TakeOrNil()
- if handleValue != 0 {
- resourceDropRequestOptions(handleValue)
- }
- }, 0)
- return value
-}
-
-func RequestOptionsFromBorrowHandle(handleValue int32) *RequestOptions {
- handle := witRuntime.MakeHandle(handleValue)
- return &RequestOptions{handle}
-}
-
-//go:wasmimport wasi:http/types@0.2.8 [resource-drop]response-outparam
-func resourceDropResponseOutparam(handle int32)
-
-// Represents the ability to send an HTTP Response.
-//
-// This resource is used by the `wasi:http/incoming-handler` interface to
-// allow a Response to be sent corresponding to the Request provided as the
-// other argument to `incoming-handler.handle`.
-type ResponseOutparam struct {
- handle *witRuntime.Handle
-}
-
-func (self *ResponseOutparam) TakeHandle() int32 {
- return self.handle.Take()
-}
-
-func (self *ResponseOutparam) SetHandle(handle int32) {
- self.handle.Set(handle)
-}
-
-func (self *ResponseOutparam) Handle() int32 {
- return self.handle.Use()
-}
-
-func (self *ResponseOutparam) Drop() {
- handle := self.handle.TakeOrNil()
- if handle != 0 {
- resourceDropResponseOutparam(handle)
- }
-}
-
-func ResponseOutparamFromOwnHandle(handleValue int32) *ResponseOutparam {
- handle := witRuntime.MakeHandle(handleValue)
- value := &ResponseOutparam{handle}
- runtime.AddCleanup(value, func(_ int) {
- handleValue := handle.TakeOrNil()
- if handleValue != 0 {
- resourceDropResponseOutparam(handleValue)
- }
- }, 0)
- return value
-}
-
-func ResponseOutparamFromBorrowHandle(handleValue int32) *ResponseOutparam {
- handle := witRuntime.MakeHandle(handleValue)
- return &ResponseOutparam{handle}
-}
-
-// This type corresponds to the HTTP standard Status Code.
-type StatusCode = uint16
-
-//go:wasmimport wasi:http/types@0.2.8 [resource-drop]incoming-response
-func resourceDropIncomingResponse(handle int32)
-
-// Represents an incoming HTTP Response.
-type IncomingResponse struct {
- handle *witRuntime.Handle
-}
-
-func (self *IncomingResponse) TakeHandle() int32 {
- return self.handle.Take()
-}
-
-func (self *IncomingResponse) SetHandle(handle int32) {
- self.handle.Set(handle)
-}
-
-func (self *IncomingResponse) Handle() int32 {
- return self.handle.Use()
-}
-
-func (self *IncomingResponse) Drop() {
- handle := self.handle.TakeOrNil()
- if handle != 0 {
- resourceDropIncomingResponse(handle)
- }
-}
-
-func IncomingResponseFromOwnHandle(handleValue int32) *IncomingResponse {
- handle := witRuntime.MakeHandle(handleValue)
- value := &IncomingResponse{handle}
- runtime.AddCleanup(value, func(_ int) {
- handleValue := handle.TakeOrNil()
- if handleValue != 0 {
- resourceDropIncomingResponse(handleValue)
- }
- }, 0)
- return value
-}
-
-func IncomingResponseFromBorrowHandle(handleValue int32) *IncomingResponse {
- handle := witRuntime.MakeHandle(handleValue)
- return &IncomingResponse{handle}
-}
-
-//go:wasmimport wasi:http/types@0.2.8 [resource-drop]incoming-body
-func resourceDropIncomingBody(handle int32)
-
-// Represents an incoming HTTP Request or Response's Body.
-//
-// A body has both its contents - a stream of bytes - and a (possibly
-// empty) set of trailers, indicating that the full contents of the
-// body have been received. This resource represents the contents as
-// an `input-stream` and the delivery of trailers as a `future-trailers`,
-// and ensures that the user of this interface may only be consuming either
-// the body contents or waiting on trailers at any given time.
-type IncomingBody struct {
- handle *witRuntime.Handle
-}
-
-func (self *IncomingBody) TakeHandle() int32 {
- return self.handle.Take()
-}
-
-func (self *IncomingBody) SetHandle(handle int32) {
- self.handle.Set(handle)
-}
-
-func (self *IncomingBody) Handle() int32 {
- return self.handle.Use()
-}
-
-func (self *IncomingBody) Drop() {
- handle := self.handle.TakeOrNil()
- if handle != 0 {
- resourceDropIncomingBody(handle)
- }
-}
-
-func IncomingBodyFromOwnHandle(handleValue int32) *IncomingBody {
- handle := witRuntime.MakeHandle(handleValue)
- value := &IncomingBody{handle}
- runtime.AddCleanup(value, func(_ int) {
- handleValue := handle.TakeOrNil()
- if handleValue != 0 {
- resourceDropIncomingBody(handleValue)
- }
- }, 0)
- return value
-}
-
-func IncomingBodyFromBorrowHandle(handleValue int32) *IncomingBody {
- handle := witRuntime.MakeHandle(handleValue)
- return &IncomingBody{handle}
-}
-
-//go:wasmimport wasi:http/types@0.2.8 [resource-drop]future-trailers
-func resourceDropFutureTrailers(handle int32)
-
-// Represents a future which may eventually return trailers, or an error.
-//
-// In the case that the incoming HTTP Request or Response did not have any
-// trailers, this future will resolve to the empty set of trailers once the
-// complete Request or Response body has been received.
-type FutureTrailers struct {
- handle *witRuntime.Handle
-}
-
-func (self *FutureTrailers) TakeHandle() int32 {
- return self.handle.Take()
-}
-
-func (self *FutureTrailers) SetHandle(handle int32) {
- self.handle.Set(handle)
-}
-
-func (self *FutureTrailers) Handle() int32 {
- return self.handle.Use()
-}
-
-func (self *FutureTrailers) Drop() {
- handle := self.handle.TakeOrNil()
- if handle != 0 {
- resourceDropFutureTrailers(handle)
- }
-}
-
-func FutureTrailersFromOwnHandle(handleValue int32) *FutureTrailers {
- handle := witRuntime.MakeHandle(handleValue)
- value := &FutureTrailers{handle}
- runtime.AddCleanup(value, func(_ int) {
- handleValue := handle.TakeOrNil()
- if handleValue != 0 {
- resourceDropFutureTrailers(handleValue)
- }
- }, 0)
- return value
-}
-
-func FutureTrailersFromBorrowHandle(handleValue int32) *FutureTrailers {
- handle := witRuntime.MakeHandle(handleValue)
- return &FutureTrailers{handle}
-}
-
-//go:wasmimport wasi:http/types@0.2.8 [resource-drop]outgoing-response
-func resourceDropOutgoingResponse(handle int32)
-
-// Represents an outgoing HTTP Response.
-type OutgoingResponse struct {
- handle *witRuntime.Handle
-}
-
-func (self *OutgoingResponse) TakeHandle() int32 {
- return self.handle.Take()
-}
-
-func (self *OutgoingResponse) SetHandle(handle int32) {
- self.handle.Set(handle)
-}
-
-func (self *OutgoingResponse) Handle() int32 {
- return self.handle.Use()
-}
-
-func (self *OutgoingResponse) Drop() {
- handle := self.handle.TakeOrNil()
- if handle != 0 {
- resourceDropOutgoingResponse(handle)
- }
-}
-
-func OutgoingResponseFromOwnHandle(handleValue int32) *OutgoingResponse {
- handle := witRuntime.MakeHandle(handleValue)
- value := &OutgoingResponse{handle}
- runtime.AddCleanup(value, func(_ int) {
- handleValue := handle.TakeOrNil()
- if handleValue != 0 {
- resourceDropOutgoingResponse(handleValue)
- }
- }, 0)
- return value
-}
-
-func OutgoingResponseFromBorrowHandle(handleValue int32) *OutgoingResponse {
- handle := witRuntime.MakeHandle(handleValue)
- return &OutgoingResponse{handle}
-}
-
-//go:wasmimport wasi:http/types@0.2.8 [resource-drop]outgoing-body
-func resourceDropOutgoingBody(handle int32)
-
-// Represents an outgoing HTTP Request or Response's Body.
-//
-// A body has both its contents - a stream of bytes - and a (possibly
-// empty) set of trailers, inducating the full contents of the body
-// have been sent. This resource represents the contents as an
-// `output-stream` child resource, and the completion of the body (with
-// optional trailers) with a static function that consumes the
-// `outgoing-body` resource, and ensures that the user of this interface
-// may not write to the body contents after the body has been finished.
-//
-// If the user code drops this resource, as opposed to calling the static
-// method `finish`, the implementation should treat the body as incomplete,
-// and that an error has occurred. The implementation should propagate this
-// error to the HTTP protocol by whatever means it has available,
-// including: corrupting the body on the wire, aborting the associated
-// Request, or sending a late status code for the Response.
-type OutgoingBody struct {
- handle *witRuntime.Handle
-}
-
-func (self *OutgoingBody) TakeHandle() int32 {
- return self.handle.Take()
-}
-
-func (self *OutgoingBody) SetHandle(handle int32) {
- self.handle.Set(handle)
-}
-
-func (self *OutgoingBody) Handle() int32 {
- return self.handle.Use()
-}
-
-func (self *OutgoingBody) Drop() {
- handle := self.handle.TakeOrNil()
- if handle != 0 {
- resourceDropOutgoingBody(handle)
- }
-}
-
-func OutgoingBodyFromOwnHandle(handleValue int32) *OutgoingBody {
- handle := witRuntime.MakeHandle(handleValue)
- value := &OutgoingBody{handle}
- runtime.AddCleanup(value, func(_ int) {
- handleValue := handle.TakeOrNil()
- if handleValue != 0 {
- resourceDropOutgoingBody(handleValue)
- }
- }, 0)
- return value
-}
-
-func OutgoingBodyFromBorrowHandle(handleValue int32) *OutgoingBody {
- handle := witRuntime.MakeHandle(handleValue)
- return &OutgoingBody{handle}
-}
-
-//go:wasmimport wasi:http/types@0.2.8 [resource-drop]future-incoming-response
-func resourceDropFutureIncomingResponse(handle int32)
-
-// Represents a future which may eventually return an incoming HTTP
-// Response, or an error.
-//
-// This resource is returned by the `wasi:http/outgoing-handler` interface to
-// provide the HTTP Response corresponding to the sent Request.
-type FutureIncomingResponse struct {
- handle *witRuntime.Handle
-}
-
-func (self *FutureIncomingResponse) TakeHandle() int32 {
- return self.handle.Take()
-}
-
-func (self *FutureIncomingResponse) SetHandle(handle int32) {
- self.handle.Set(handle)
-}
-
-func (self *FutureIncomingResponse) Handle() int32 {
- return self.handle.Use()
-}
-
-func (self *FutureIncomingResponse) Drop() {
- handle := self.handle.TakeOrNil()
- if handle != 0 {
- resourceDropFutureIncomingResponse(handle)
- }
-}
-
-func FutureIncomingResponseFromOwnHandle(handleValue int32) *FutureIncomingResponse {
- handle := witRuntime.MakeHandle(handleValue)
- value := &FutureIncomingResponse{handle}
- runtime.AddCleanup(value, func(_ int) {
- handleValue := handle.TakeOrNil()
- if handleValue != 0 {
- resourceDropFutureIncomingResponse(handleValue)
- }
- }, 0)
- return value
-}
-
-func FutureIncomingResponseFromBorrowHandle(handleValue int32) *FutureIncomingResponse {
- handle := witRuntime.MakeHandle(handleValue)
- return &FutureIncomingResponse{handle}
-}
-
-//go:wasmimport wasi:http/types@0.2.8 [constructor]fields
-func wasm_import_constructor_fields() int32
-
-func MakeFields() *Fields {
-
- result := wasm_import_constructor_fields()
- return FieldsFromOwnHandle(int32(uintptr(result)))
-
-}
-
-//go:wasmimport wasi:http/types@0.2.8 [static]fields.from-list
-func wasm_import_static_fields_from_list(arg0 uintptr, arg1 uint32, arg2 uintptr)
-
-func FieldsFromList(entries []witTypes.Tuple2[string, []uint8]) witTypes.Result[*Fields, HeaderError] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 8, 4))
- slice := entries
- length := uint32(len(slice))
- result := witRuntime.Allocate(pinner, uintptr(length*(4*4)), 4)
- for index, element := range slice {
- base := unsafe.Add(result, index*(4*4))
- utf8 := unsafe.Pointer(unsafe.StringData((element).F0))
- pinner.Pin(utf8)
- *(*uint32)(unsafe.Add(unsafe.Pointer(base), 4)) = uint32(uint32(len((element).F0)))
- *(*uint32)(unsafe.Add(unsafe.Pointer(base), 0)) = uint32(uintptr(uintptr(utf8)))
- data := unsafe.Pointer(unsafe.SliceData((element).F1))
- pinner.Pin(data)
- *(*uint32)(unsafe.Add(unsafe.Pointer(base), (3 * 4))) = uint32(uint32(len((element).F1)))
- *(*uint32)(unsafe.Add(unsafe.Pointer(base), (2 * 4))) = uint32(uintptr(uintptr(data)))
-
- }
-
- wasm_import_static_fields_from_list(uintptr(result), length, returnArea)
- var result0 witTypes.Result[*Fields, HeaderError]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- result0 = witTypes.Ok[*Fields, HeaderError](FieldsFromOwnHandle(int32(uintptr(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 4))))))
- case 1:
- var variant HeaderError
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 4))) {
- case 0:
-
- variant = MakeHeaderErrorInvalidSyntax()
-
- case 1:
-
- variant = MakeHeaderErrorForbidden()
-
- case 2:
-
- variant = MakeHeaderErrorImmutable()
-
- default:
- panic("unreachable")
- }
-
- result0 = witTypes.Err[*Fields, HeaderError](variant)
- default:
- panic("unreachable")
- }
- result1 := result0
- return result1
-
-}
-
-//go:wasmimport wasi:http/types@0.2.8 [method]fields.get
-func wasm_import_method_fields_get(arg0 int32, arg1 uintptr, arg2 uint32, arg3 uintptr)
-
-func (self *Fields) Get(name string) [][]uint8 {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, (2 * 4), 4))
- utf8 := unsafe.Pointer(unsafe.StringData(name))
- pinner.Pin(utf8)
- wasm_import_method_fields_get((self).Handle(), uintptr(utf8), uint32(len(name)), returnArea)
- result := make([][]uint8, 0, *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 4)))
- for index := 0; index < int(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 4))); index++ {
- base := unsafe.Add(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0)))), index*(2*4))
- value := unsafe.Slice((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(base), 0))))), *(*uint32)(unsafe.Add(unsafe.Pointer(base), 4)))
-
- result = append(result, value)
- }
-
- result0 := result
- return result0
-
-}
-
-//go:wasmimport wasi:http/types@0.2.8 [method]fields.has
-func wasm_import_method_fields_has(arg0 int32, arg1 uintptr, arg2 uint32) int32
-
-func (self *Fields) Has(name string) bool {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- utf8 := unsafe.Pointer(unsafe.StringData(name))
- pinner.Pin(utf8)
- result := wasm_import_method_fields_has((self).Handle(), uintptr(utf8), uint32(len(name)))
- return (result != 0)
-
-}
-
-//go:wasmimport wasi:http/types@0.2.8 [method]fields.set
-func wasm_import_method_fields_set(arg0 int32, arg1 uintptr, arg2 uint32, arg3 uintptr, arg4 uint32, arg5 uintptr)
-
-func (self *Fields) Set(name string, value [][]uint8) witTypes.Result[witTypes.Unit, HeaderError] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 2, 1))
- utf8 := unsafe.Pointer(unsafe.StringData(name))
- pinner.Pin(utf8)
- slice := value
- length := uint32(len(slice))
- result := witRuntime.Allocate(pinner, uintptr(length*(2*4)), 4)
- for index, element := range slice {
- base := unsafe.Add(result, index*(2*4))
- data := unsafe.Pointer(unsafe.SliceData(element))
- pinner.Pin(data)
- *(*uint32)(unsafe.Add(unsafe.Pointer(base), 4)) = uint32(uint32(len(element)))
- *(*uint32)(unsafe.Add(unsafe.Pointer(base), 0)) = uint32(uintptr(uintptr(data)))
-
- }
-
- wasm_import_method_fields_set((self).Handle(), uintptr(utf8), uint32(len(name)), uintptr(result), length, returnArea)
- var result0 witTypes.Result[witTypes.Unit, HeaderError]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- result0 = witTypes.Ok[witTypes.Unit, HeaderError](witTypes.Unit{})
- case 1:
- var variant HeaderError
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 1))) {
- case 0:
-
- variant = MakeHeaderErrorInvalidSyntax()
-
- case 1:
-
- variant = MakeHeaderErrorForbidden()
-
- case 2:
-
- variant = MakeHeaderErrorImmutable()
-
- default:
- panic("unreachable")
- }
-
- result0 = witTypes.Err[witTypes.Unit, HeaderError](variant)
- default:
- panic("unreachable")
- }
- result1 := result0
- return result1
-
-}
-
-//go:wasmimport wasi:http/types@0.2.8 [method]fields.delete
-func wasm_import_method_fields_delete(arg0 int32, arg1 uintptr, arg2 uint32, arg3 uintptr)
-
-func (self *Fields) Delete(name string) witTypes.Result[witTypes.Unit, HeaderError] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 2, 1))
- utf8 := unsafe.Pointer(unsafe.StringData(name))
- pinner.Pin(utf8)
- wasm_import_method_fields_delete((self).Handle(), uintptr(utf8), uint32(len(name)), returnArea)
- var result witTypes.Result[witTypes.Unit, HeaderError]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- result = witTypes.Ok[witTypes.Unit, HeaderError](witTypes.Unit{})
- case 1:
- var variant HeaderError
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 1))) {
- case 0:
-
- variant = MakeHeaderErrorInvalidSyntax()
-
- case 1:
-
- variant = MakeHeaderErrorForbidden()
-
- case 2:
-
- variant = MakeHeaderErrorImmutable()
-
- default:
- panic("unreachable")
- }
-
- result = witTypes.Err[witTypes.Unit, HeaderError](variant)
- default:
- panic("unreachable")
- }
- result0 := result
- return result0
-
-}
-
-//go:wasmimport wasi:http/types@0.2.8 [method]fields.append
-func wasm_import_method_fields_append(arg0 int32, arg1 uintptr, arg2 uint32, arg3 uintptr, arg4 uint32, arg5 uintptr)
-
-func (self *Fields) Append(name string, value []uint8) witTypes.Result[witTypes.Unit, HeaderError] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 2, 1))
- utf8 := unsafe.Pointer(unsafe.StringData(name))
- pinner.Pin(utf8)
- data := unsafe.Pointer(unsafe.SliceData(value))
- pinner.Pin(data)
- wasm_import_method_fields_append((self).Handle(), uintptr(utf8), uint32(len(name)), uintptr(data), uint32(len(value)), returnArea)
- var result witTypes.Result[witTypes.Unit, HeaderError]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- result = witTypes.Ok[witTypes.Unit, HeaderError](witTypes.Unit{})
- case 1:
- var variant HeaderError
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 1))) {
- case 0:
-
- variant = MakeHeaderErrorInvalidSyntax()
-
- case 1:
-
- variant = MakeHeaderErrorForbidden()
-
- case 2:
-
- variant = MakeHeaderErrorImmutable()
-
- default:
- panic("unreachable")
- }
-
- result = witTypes.Err[witTypes.Unit, HeaderError](variant)
- default:
- panic("unreachable")
- }
- result0 := result
- return result0
-
-}
-
-//go:wasmimport wasi:http/types@0.2.8 [method]fields.entries
-func wasm_import_method_fields_entries(arg0 int32, arg1 uintptr)
-
-func (self *Fields) Entries() []witTypes.Tuple2[string, []uint8] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, (2 * 4), 4))
- wasm_import_method_fields_entries((self).Handle(), returnArea)
- result := make([]witTypes.Tuple2[string, []uint8], 0, *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 4)))
- for index := 0; index < int(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 4))); index++ {
- base := unsafe.Add(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0)))), index*(4*4))
- value := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(base), 0))))), *(*uint32)(unsafe.Add(unsafe.Pointer(base), 4)))
- value0 := unsafe.Slice((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(base), (2 * 4)))))), *(*uint32)(unsafe.Add(unsafe.Pointer(base), (3 * 4))))
-
- result = append(result, witTypes.Tuple2[string, []uint8]{F0: value, F1: value0})
- }
-
- result1 := result
- return result1
-
-}
-
-//go:wasmimport wasi:http/types@0.2.8 [method]fields.clone
-func wasm_import_method_fields_clone(arg0 int32) int32
-
-func (self *Fields) Clone() *Fields {
-
- result := wasm_import_method_fields_clone((self).Handle())
- return FieldsFromOwnHandle(int32(uintptr(result)))
-
-}
-
-//go:wasmimport wasi:http/types@0.2.8 [method]incoming-request.method
-func wasm_import_method_incoming_request_method(arg0 int32, arg1 uintptr)
-
-func (self *IncomingRequest) Method() Method {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, (3 * 4), 4))
- wasm_import_method_incoming_request_method((self).Handle(), returnArea)
- var variant Method
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- variant = MakeMethodGet()
-
- case 1:
-
- variant = MakeMethodHead()
-
- case 2:
-
- variant = MakeMethodPost()
-
- case 3:
-
- variant = MakeMethodPut()
-
- case 4:
-
- variant = MakeMethodDelete()
-
- case 5:
-
- variant = MakeMethodConnect()
-
- case 6:
-
- variant = MakeMethodOptions()
-
- case 7:
-
- variant = MakeMethodTrace()
-
- case 8:
-
- variant = MakeMethodPatch()
-
- case 9:
- value := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 4))))), *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (2 * 4))))
-
- variant = MakeMethodOther(value)
-
- default:
- panic("unreachable")
- }
- result := variant
- return result
-
-}
-
-//go:wasmimport wasi:http/types@0.2.8 [method]incoming-request.path-with-query
-func wasm_import_method_incoming_request_path_with_query(arg0 int32, arg1 uintptr)
-
-func (self *IncomingRequest) PathWithQuery() witTypes.Option[string] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, (3 * 4), 4))
- wasm_import_method_incoming_request_path_with_query((self).Handle(), returnArea)
- var option witTypes.Option[string]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- option = witTypes.None[string]()
- case 1:
- value := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 4))))), *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (2 * 4))))
-
- option = witTypes.Some[string](value)
- default:
- panic("unreachable")
- }
- result := option
- return result
-
-}
-
-//go:wasmimport wasi:http/types@0.2.8 [method]incoming-request.scheme
-func wasm_import_method_incoming_request_scheme(arg0 int32, arg1 uintptr)
-
-func (self *IncomingRequest) Scheme() witTypes.Option[Scheme] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, (4 * 4), 4))
- wasm_import_method_incoming_request_scheme((self).Handle(), returnArea)
- var option witTypes.Option[Scheme]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- option = witTypes.None[Scheme]()
- case 1:
- var variant Scheme
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 4))) {
- case 0:
-
- variant = MakeSchemeHttp()
-
- case 1:
-
- variant = MakeSchemeHttps()
-
- case 2:
- value := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (2 * 4)))))), *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (3 * 4))))
-
- variant = MakeSchemeOther(value)
-
- default:
- panic("unreachable")
- }
-
- option = witTypes.Some[Scheme](variant)
- default:
- panic("unreachable")
- }
- result := option
- return result
-
-}
-
-//go:wasmimport wasi:http/types@0.2.8 [method]incoming-request.authority
-func wasm_import_method_incoming_request_authority(arg0 int32, arg1 uintptr)
-
-func (self *IncomingRequest) Authority() witTypes.Option[string] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, (3 * 4), 4))
- wasm_import_method_incoming_request_authority((self).Handle(), returnArea)
- var option witTypes.Option[string]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- option = witTypes.None[string]()
- case 1:
- value := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 4))))), *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (2 * 4))))
-
- option = witTypes.Some[string](value)
- default:
- panic("unreachable")
- }
- result := option
- return result
-
-}
-
-//go:wasmimport wasi:http/types@0.2.8 [method]incoming-request.headers
-func wasm_import_method_incoming_request_headers(arg0 int32) int32
-
-func (self *IncomingRequest) Headers() *Fields {
-
- result := wasm_import_method_incoming_request_headers((self).Handle())
- return FieldsFromOwnHandle(int32(uintptr(result)))
-
-}
-
-//go:wasmimport wasi:http/types@0.2.8 [method]incoming-request.consume
-func wasm_import_method_incoming_request_consume(arg0 int32, arg1 uintptr)
-
-func (self *IncomingRequest) Consume() witTypes.Result[*IncomingBody, witTypes.Unit] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 8, 4))
- wasm_import_method_incoming_request_consume((self).Handle(), returnArea)
- var result witTypes.Result[*IncomingBody, witTypes.Unit]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- result = witTypes.Ok[*IncomingBody, witTypes.Unit](IncomingBodyFromOwnHandle(int32(uintptr(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 4))))))
- case 1:
-
- result = witTypes.Err[*IncomingBody, witTypes.Unit](witTypes.Unit{})
- default:
- panic("unreachable")
- }
- result0 := result
- return result0
-
-}
-
-//go:wasmimport wasi:http/types@0.2.8 [constructor]outgoing-request
-func wasm_import_constructor_outgoing_request(arg0 int32) int32
-
-func MakeOutgoingRequest(headers *Fields) *OutgoingRequest {
-
- result := wasm_import_constructor_outgoing_request((headers).TakeHandle())
- return OutgoingRequestFromOwnHandle(int32(uintptr(result)))
-
-}
-
-//go:wasmimport wasi:http/types@0.2.8 [method]outgoing-request.body
-func wasm_import_method_outgoing_request_body(arg0 int32, arg1 uintptr)
-
-func (self *OutgoingRequest) Body() witTypes.Result[*OutgoingBody, witTypes.Unit] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 8, 4))
- wasm_import_method_outgoing_request_body((self).Handle(), returnArea)
- var result witTypes.Result[*OutgoingBody, witTypes.Unit]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- result = witTypes.Ok[*OutgoingBody, witTypes.Unit](OutgoingBodyFromOwnHandle(int32(uintptr(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 4))))))
- case 1:
-
- result = witTypes.Err[*OutgoingBody, witTypes.Unit](witTypes.Unit{})
- default:
- panic("unreachable")
- }
- result0 := result
- return result0
-
-}
-
-//go:wasmimport wasi:http/types@0.2.8 [method]outgoing-request.method
-func wasm_import_method_outgoing_request_method(arg0 int32, arg1 uintptr)
-
-func (self *OutgoingRequest) Method() Method {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, (3 * 4), 4))
- wasm_import_method_outgoing_request_method((self).Handle(), returnArea)
- var variant Method
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- variant = MakeMethodGet()
-
- case 1:
-
- variant = MakeMethodHead()
-
- case 2:
-
- variant = MakeMethodPost()
-
- case 3:
-
- variant = MakeMethodPut()
-
- case 4:
-
- variant = MakeMethodDelete()
-
- case 5:
-
- variant = MakeMethodConnect()
-
- case 6:
-
- variant = MakeMethodOptions()
-
- case 7:
-
- variant = MakeMethodTrace()
-
- case 8:
-
- variant = MakeMethodPatch()
-
- case 9:
- value := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 4))))), *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (2 * 4))))
-
- variant = MakeMethodOther(value)
-
- default:
- panic("unreachable")
- }
- result := variant
- return result
-
-}
-
-//go:wasmimport wasi:http/types@0.2.8 [method]outgoing-request.set-method
-func wasm_import_method_outgoing_request_set_method(arg0 int32, arg1 int32, arg2 uintptr, arg3 uint32) int32
-
-func (self *OutgoingRequest) SetMethod(method Method) witTypes.Result[witTypes.Unit, witTypes.Unit] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- var variant int32
- var variant0 uintptr
- var variant1 uint32
- switch method.Tag() {
- case Method_Get:
-
- variant = int32(0)
- variant0 = 0
- variant1 = 0
-
- case Method_Head:
-
- variant = int32(1)
- variant0 = 0
- variant1 = 0
-
- case Method_Post:
-
- variant = int32(2)
- variant0 = 0
- variant1 = 0
-
- case Method_Put:
-
- variant = int32(3)
- variant0 = 0
- variant1 = 0
-
- case Method_Delete:
-
- variant = int32(4)
- variant0 = 0
- variant1 = 0
-
- case Method_Connect:
-
- variant = int32(5)
- variant0 = 0
- variant1 = 0
-
- case Method_Options:
-
- variant = int32(6)
- variant0 = 0
- variant1 = 0
-
- case Method_Trace:
-
- variant = int32(7)
- variant0 = 0
- variant1 = 0
-
- case Method_Patch:
-
- variant = int32(8)
- variant0 = 0
- variant1 = 0
-
- case Method_Other:
- payload := method.Other()
- utf8 := unsafe.Pointer(unsafe.StringData(payload))
- pinner.Pin(utf8)
-
- variant = int32(9)
- variant0 = uintptr(utf8)
- variant1 = uint32(len(payload))
-
- default:
- panic("unreachable")
- }
- result := wasm_import_method_outgoing_request_set_method((self).Handle(), variant, variant0, variant1)
- var result2 witTypes.Result[witTypes.Unit, witTypes.Unit]
- switch result {
- case 0:
-
- result2 = witTypes.Ok[witTypes.Unit, witTypes.Unit](witTypes.Unit{})
- case 1:
-
- result2 = witTypes.Err[witTypes.Unit, witTypes.Unit](witTypes.Unit{})
- default:
- panic("unreachable")
- }
- return result2
-
-}
-
-//go:wasmimport wasi:http/types@0.2.8 [method]outgoing-request.path-with-query
-func wasm_import_method_outgoing_request_path_with_query(arg0 int32, arg1 uintptr)
-
-func (self *OutgoingRequest) PathWithQuery() witTypes.Option[string] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, (3 * 4), 4))
- wasm_import_method_outgoing_request_path_with_query((self).Handle(), returnArea)
- var option witTypes.Option[string]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- option = witTypes.None[string]()
- case 1:
- value := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 4))))), *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (2 * 4))))
-
- option = witTypes.Some[string](value)
- default:
- panic("unreachable")
- }
- result := option
- return result
-
-}
-
-//go:wasmimport wasi:http/types@0.2.8 [method]outgoing-request.set-path-with-query
-func wasm_import_method_outgoing_request_set_path_with_query(arg0 int32, arg1 int32, arg2 uintptr, arg3 uint32) int32
-
-func (self *OutgoingRequest) SetPathWithQuery(pathWithQuery witTypes.Option[string]) witTypes.Result[witTypes.Unit, witTypes.Unit] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- var option int32
- var option0 uintptr
- var option1 uint32
- switch pathWithQuery.Tag() {
- case witTypes.OptionNone:
-
- option = int32(0)
- option0 = 0
- option1 = 0
- case witTypes.OptionSome:
- payload := pathWithQuery.Some()
- utf8 := unsafe.Pointer(unsafe.StringData(payload))
- pinner.Pin(utf8)
-
- option = int32(1)
- option0 = uintptr(utf8)
- option1 = uint32(len(payload))
- default:
- panic("unreachable")
- }
- result := wasm_import_method_outgoing_request_set_path_with_query((self).Handle(), option, option0, option1)
- var result2 witTypes.Result[witTypes.Unit, witTypes.Unit]
- switch result {
- case 0:
-
- result2 = witTypes.Ok[witTypes.Unit, witTypes.Unit](witTypes.Unit{})
- case 1:
-
- result2 = witTypes.Err[witTypes.Unit, witTypes.Unit](witTypes.Unit{})
- default:
- panic("unreachable")
- }
- return result2
-
-}
-
-//go:wasmimport wasi:http/types@0.2.8 [method]outgoing-request.scheme
-func wasm_import_method_outgoing_request_scheme(arg0 int32, arg1 uintptr)
-
-func (self *OutgoingRequest) Scheme() witTypes.Option[Scheme] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, (4 * 4), 4))
- wasm_import_method_outgoing_request_scheme((self).Handle(), returnArea)
- var option witTypes.Option[Scheme]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- option = witTypes.None[Scheme]()
- case 1:
- var variant Scheme
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 4))) {
- case 0:
-
- variant = MakeSchemeHttp()
-
- case 1:
-
- variant = MakeSchemeHttps()
-
- case 2:
- value := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (2 * 4)))))), *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (3 * 4))))
-
- variant = MakeSchemeOther(value)
-
- default:
- panic("unreachable")
- }
-
- option = witTypes.Some[Scheme](variant)
- default:
- panic("unreachable")
- }
- result := option
- return result
-
-}
-
-//go:wasmimport wasi:http/types@0.2.8 [method]outgoing-request.set-scheme
-func wasm_import_method_outgoing_request_set_scheme(arg0 int32, arg1 int32, arg2 int32, arg3 uintptr, arg4 uint32) int32
-
-func (self *OutgoingRequest) SetScheme(scheme witTypes.Option[Scheme]) witTypes.Result[witTypes.Unit, witTypes.Unit] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- var option int32
- var option2 int32
- var option3 uintptr
- var option4 uint32
- switch scheme.Tag() {
- case witTypes.OptionNone:
-
- option = int32(0)
- option2 = 0
- option3 = 0
- option4 = 0
- case witTypes.OptionSome:
- payload := scheme.Some()
- var variant int32
- var variant0 uintptr
- var variant1 uint32
- switch payload.Tag() {
- case Scheme_Http:
-
- variant = int32(0)
- variant0 = 0
- variant1 = 0
-
- case Scheme_Https:
-
- variant = int32(1)
- variant0 = 0
- variant1 = 0
-
- case Scheme_Other:
- payload := payload.Other()
- utf8 := unsafe.Pointer(unsafe.StringData(payload))
- pinner.Pin(utf8)
-
- variant = int32(2)
- variant0 = uintptr(utf8)
- variant1 = uint32(len(payload))
-
- default:
- panic("unreachable")
- }
-
- option = int32(1)
- option2 = variant
- option3 = variant0
- option4 = variant1
- default:
- panic("unreachable")
- }
- result := wasm_import_method_outgoing_request_set_scheme((self).Handle(), option, option2, option3, option4)
- var result5 witTypes.Result[witTypes.Unit, witTypes.Unit]
- switch result {
- case 0:
-
- result5 = witTypes.Ok[witTypes.Unit, witTypes.Unit](witTypes.Unit{})
- case 1:
-
- result5 = witTypes.Err[witTypes.Unit, witTypes.Unit](witTypes.Unit{})
- default:
- panic("unreachable")
- }
- return result5
-
-}
-
-//go:wasmimport wasi:http/types@0.2.8 [method]outgoing-request.authority
-func wasm_import_method_outgoing_request_authority(arg0 int32, arg1 uintptr)
-
-func (self *OutgoingRequest) Authority() witTypes.Option[string] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, (3 * 4), 4))
- wasm_import_method_outgoing_request_authority((self).Handle(), returnArea)
- var option witTypes.Option[string]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- option = witTypes.None[string]()
- case 1:
- value := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 4))))), *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (2 * 4))))
-
- option = witTypes.Some[string](value)
- default:
- panic("unreachable")
- }
- result := option
- return result
-
-}
-
-//go:wasmimport wasi:http/types@0.2.8 [method]outgoing-request.set-authority
-func wasm_import_method_outgoing_request_set_authority(arg0 int32, arg1 int32, arg2 uintptr, arg3 uint32) int32
-
-func (self *OutgoingRequest) SetAuthority(authority witTypes.Option[string]) witTypes.Result[witTypes.Unit, witTypes.Unit] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- var option int32
- var option0 uintptr
- var option1 uint32
- switch authority.Tag() {
- case witTypes.OptionNone:
-
- option = int32(0)
- option0 = 0
- option1 = 0
- case witTypes.OptionSome:
- payload := authority.Some()
- utf8 := unsafe.Pointer(unsafe.StringData(payload))
- pinner.Pin(utf8)
-
- option = int32(1)
- option0 = uintptr(utf8)
- option1 = uint32(len(payload))
- default:
- panic("unreachable")
- }
- result := wasm_import_method_outgoing_request_set_authority((self).Handle(), option, option0, option1)
- var result2 witTypes.Result[witTypes.Unit, witTypes.Unit]
- switch result {
- case 0:
-
- result2 = witTypes.Ok[witTypes.Unit, witTypes.Unit](witTypes.Unit{})
- case 1:
-
- result2 = witTypes.Err[witTypes.Unit, witTypes.Unit](witTypes.Unit{})
- default:
- panic("unreachable")
- }
- return result2
-
-}
-
-//go:wasmimport wasi:http/types@0.2.8 [method]outgoing-request.headers
-func wasm_import_method_outgoing_request_headers(arg0 int32) int32
-
-func (self *OutgoingRequest) Headers() *Fields {
-
- result := wasm_import_method_outgoing_request_headers((self).Handle())
- return FieldsFromOwnHandle(int32(uintptr(result)))
-
-}
-
-//go:wasmimport wasi:http/types@0.2.8 [constructor]request-options
-func wasm_import_constructor_request_options() int32
-
-func MakeRequestOptions() *RequestOptions {
-
- result := wasm_import_constructor_request_options()
- return RequestOptionsFromOwnHandle(int32(uintptr(result)))
-
-}
-
-//go:wasmimport wasi:http/types@0.2.8 [method]request-options.connect-timeout
-func wasm_import_method_request_options_connect_timeout(arg0 int32, arg1 uintptr)
-
-func (self *RequestOptions) ConnectTimeout() witTypes.Option[uint64] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 16, 8))
- wasm_import_method_request_options_connect_timeout((self).Handle(), returnArea)
- var option witTypes.Option[uint64]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- option = witTypes.None[uint64]()
- case 1:
-
- option = witTypes.Some[uint64](uint64(*(*int64)(unsafe.Add(unsafe.Pointer(returnArea), 8))))
- default:
- panic("unreachable")
- }
- result := option
- return result
-
-}
-
-//go:wasmimport wasi:http/types@0.2.8 [method]request-options.set-connect-timeout
-func wasm_import_method_request_options_set_connect_timeout(arg0 int32, arg1 int32, arg2 int64) int32
-
-func (self *RequestOptions) SetConnectTimeout(duration witTypes.Option[uint64]) witTypes.Result[witTypes.Unit, witTypes.Unit] {
-
- var option int32
- var option0 int64
- switch duration.Tag() {
- case witTypes.OptionNone:
-
- option = int32(0)
- option0 = 0
- case witTypes.OptionSome:
- payload := duration.Some()
-
- option = int32(1)
- option0 = int64(payload)
- default:
- panic("unreachable")
- }
- result := wasm_import_method_request_options_set_connect_timeout((self).Handle(), option, option0)
- var result1 witTypes.Result[witTypes.Unit, witTypes.Unit]
- switch result {
- case 0:
-
- result1 = witTypes.Ok[witTypes.Unit, witTypes.Unit](witTypes.Unit{})
- case 1:
-
- result1 = witTypes.Err[witTypes.Unit, witTypes.Unit](witTypes.Unit{})
- default:
- panic("unreachable")
- }
- return result1
-
-}
-
-//go:wasmimport wasi:http/types@0.2.8 [method]request-options.first-byte-timeout
-func wasm_import_method_request_options_first_byte_timeout(arg0 int32, arg1 uintptr)
-
-func (self *RequestOptions) FirstByteTimeout() witTypes.Option[uint64] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 16, 8))
- wasm_import_method_request_options_first_byte_timeout((self).Handle(), returnArea)
- var option witTypes.Option[uint64]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- option = witTypes.None[uint64]()
- case 1:
-
- option = witTypes.Some[uint64](uint64(*(*int64)(unsafe.Add(unsafe.Pointer(returnArea), 8))))
- default:
- panic("unreachable")
- }
- result := option
- return result
-
-}
-
-//go:wasmimport wasi:http/types@0.2.8 [method]request-options.set-first-byte-timeout
-func wasm_import_method_request_options_set_first_byte_timeout(arg0 int32, arg1 int32, arg2 int64) int32
-
-func (self *RequestOptions) SetFirstByteTimeout(duration witTypes.Option[uint64]) witTypes.Result[witTypes.Unit, witTypes.Unit] {
-
- var option int32
- var option0 int64
- switch duration.Tag() {
- case witTypes.OptionNone:
-
- option = int32(0)
- option0 = 0
- case witTypes.OptionSome:
- payload := duration.Some()
-
- option = int32(1)
- option0 = int64(payload)
- default:
- panic("unreachable")
- }
- result := wasm_import_method_request_options_set_first_byte_timeout((self).Handle(), option, option0)
- var result1 witTypes.Result[witTypes.Unit, witTypes.Unit]
- switch result {
- case 0:
-
- result1 = witTypes.Ok[witTypes.Unit, witTypes.Unit](witTypes.Unit{})
- case 1:
-
- result1 = witTypes.Err[witTypes.Unit, witTypes.Unit](witTypes.Unit{})
- default:
- panic("unreachable")
- }
- return result1
-
-}
-
-//go:wasmimport wasi:http/types@0.2.8 [method]request-options.between-bytes-timeout
-func wasm_import_method_request_options_between_bytes_timeout(arg0 int32, arg1 uintptr)
-
-func (self *RequestOptions) BetweenBytesTimeout() witTypes.Option[uint64] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 16, 8))
- wasm_import_method_request_options_between_bytes_timeout((self).Handle(), returnArea)
- var option witTypes.Option[uint64]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- option = witTypes.None[uint64]()
- case 1:
-
- option = witTypes.Some[uint64](uint64(*(*int64)(unsafe.Add(unsafe.Pointer(returnArea), 8))))
- default:
- panic("unreachable")
- }
- result := option
- return result
-
-}
-
-//go:wasmimport wasi:http/types@0.2.8 [method]request-options.set-between-bytes-timeout
-func wasm_import_method_request_options_set_between_bytes_timeout(arg0 int32, arg1 int32, arg2 int64) int32
-
-func (self *RequestOptions) SetBetweenBytesTimeout(duration witTypes.Option[uint64]) witTypes.Result[witTypes.Unit, witTypes.Unit] {
-
- var option int32
- var option0 int64
- switch duration.Tag() {
- case witTypes.OptionNone:
-
- option = int32(0)
- option0 = 0
- case witTypes.OptionSome:
- payload := duration.Some()
-
- option = int32(1)
- option0 = int64(payload)
- default:
- panic("unreachable")
- }
- result := wasm_import_method_request_options_set_between_bytes_timeout((self).Handle(), option, option0)
- var result1 witTypes.Result[witTypes.Unit, witTypes.Unit]
- switch result {
- case 0:
-
- result1 = witTypes.Ok[witTypes.Unit, witTypes.Unit](witTypes.Unit{})
- case 1:
-
- result1 = witTypes.Err[witTypes.Unit, witTypes.Unit](witTypes.Unit{})
- default:
- panic("unreachable")
- }
- return result1
-
-}
-
-//go:wasmimport wasi:http/types@0.2.8 [static]response-outparam.set
-func wasm_import_static_response_outparam_set(arg0 int32, arg1 int32, arg2 int32, arg3 int32, arg4 int64, arg5 uintptr, arg6 uintptr, arg7 uint32, arg8 int32)
-
-func ResponseOutparamSet(param *ResponseOutparam, response witTypes.Result[*OutgoingResponse, ErrorCode]) {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- var option70 int32
- var option71 int32
- var option72 int32
- var option73 int64
- var option74 uintptr
- var option75 uintptr
- var option76 uint32
- var option77 int32
- switch response.Tag() {
- case witTypes.ResultOk:
- payload := response.Ok()
-
- option70 = int32(0)
- option71 = (payload).TakeHandle()
- option72 = 0
- option73 = 0
- option74 = 0
- option75 = 0
- option76 = 0
- option77 = 0
- case witTypes.ResultErr:
- payload := response.Err()
- var variant int32
- var variant64 int32
- var variant65 int64
- var variant66 uintptr
- var variant67 uintptr
- var variant68 uint32
- var variant69 int32
- switch payload.Tag() {
- case ErrorCode_DnsTimeout:
-
- variant = int32(0)
- variant64 = 0
- variant65 = 0
- variant66 = 0
- variant67 = 0
- variant68 = 0
- variant69 = 0
-
- case ErrorCode_DnsError:
- payload := payload.DnsError()
- var option int32
- var option0 uintptr
- var option1 uint32
- switch (payload).Rcode.Tag() {
- case witTypes.OptionNone:
-
- option = int32(0)
- option0 = 0
- option1 = 0
- case witTypes.OptionSome:
- payload := (payload).Rcode.Some()
- utf8 := unsafe.Pointer(unsafe.StringData(payload))
- pinner.Pin(utf8)
-
- option = int32(1)
- option0 = uintptr(utf8)
- option1 = uint32(len(payload))
- default:
- panic("unreachable")
- }
- var option2 int32
- var option3 int32
- switch (payload).InfoCode.Tag() {
- case witTypes.OptionNone:
-
- option2 = int32(0)
- option3 = 0
- case witTypes.OptionSome:
- payload := (payload).InfoCode.Some()
-
- option2 = int32(1)
- option3 = int32(payload)
- default:
- panic("unreachable")
- }
-
- variant = int32(1)
- variant64 = option
- variant65 = int64(option0)
- variant66 = uintptr(option1)
- variant67 = uintptr(option2)
- variant68 = uint32(option3)
- variant69 = 0
-
- case ErrorCode_DestinationNotFound:
-
- variant = int32(2)
- variant64 = 0
- variant65 = 0
- variant66 = 0
- variant67 = 0
- variant68 = 0
- variant69 = 0
-
- case ErrorCode_DestinationUnavailable:
-
- variant = int32(3)
- variant64 = 0
- variant65 = 0
- variant66 = 0
- variant67 = 0
- variant68 = 0
- variant69 = 0
-
- case ErrorCode_DestinationIpProhibited:
-
- variant = int32(4)
- variant64 = 0
- variant65 = 0
- variant66 = 0
- variant67 = 0
- variant68 = 0
- variant69 = 0
-
- case ErrorCode_DestinationIpUnroutable:
-
- variant = int32(5)
- variant64 = 0
- variant65 = 0
- variant66 = 0
- variant67 = 0
- variant68 = 0
- variant69 = 0
-
- case ErrorCode_ConnectionRefused:
-
- variant = int32(6)
- variant64 = 0
- variant65 = 0
- variant66 = 0
- variant67 = 0
- variant68 = 0
- variant69 = 0
-
- case ErrorCode_ConnectionTerminated:
-
- variant = int32(7)
- variant64 = 0
- variant65 = 0
- variant66 = 0
- variant67 = 0
- variant68 = 0
- variant69 = 0
-
- case ErrorCode_ConnectionTimeout:
-
- variant = int32(8)
- variant64 = 0
- variant65 = 0
- variant66 = 0
- variant67 = 0
- variant68 = 0
- variant69 = 0
-
- case ErrorCode_ConnectionReadTimeout:
-
- variant = int32(9)
- variant64 = 0
- variant65 = 0
- variant66 = 0
- variant67 = 0
- variant68 = 0
- variant69 = 0
-
- case ErrorCode_ConnectionWriteTimeout:
-
- variant = int32(10)
- variant64 = 0
- variant65 = 0
- variant66 = 0
- variant67 = 0
- variant68 = 0
- variant69 = 0
-
- case ErrorCode_ConnectionLimitReached:
-
- variant = int32(11)
- variant64 = 0
- variant65 = 0
- variant66 = 0
- variant67 = 0
- variant68 = 0
- variant69 = 0
-
- case ErrorCode_TlsProtocolError:
-
- variant = int32(12)
- variant64 = 0
- variant65 = 0
- variant66 = 0
- variant67 = 0
- variant68 = 0
- variant69 = 0
-
- case ErrorCode_TlsCertificateError:
-
- variant = int32(13)
- variant64 = 0
- variant65 = 0
- variant66 = 0
- variant67 = 0
- variant68 = 0
- variant69 = 0
-
- case ErrorCode_TlsAlertReceived:
- payload := payload.TlsAlertReceived()
- var option4 int32
- var option5 int32
- switch (payload).AlertId.Tag() {
- case witTypes.OptionNone:
-
- option4 = int32(0)
- option5 = 0
- case witTypes.OptionSome:
- payload := (payload).AlertId.Some()
-
- option4 = int32(1)
- option5 = int32(payload)
- default:
- panic("unreachable")
- }
- var option7 int32
- var option8 uintptr
- var option9 uint32
- switch (payload).AlertMessage.Tag() {
- case witTypes.OptionNone:
-
- option7 = int32(0)
- option8 = 0
- option9 = 0
- case witTypes.OptionSome:
- payload := (payload).AlertMessage.Some()
- utf86 := unsafe.Pointer(unsafe.StringData(payload))
- pinner.Pin(utf86)
-
- option7 = int32(1)
- option8 = uintptr(utf86)
- option9 = uint32(len(payload))
- default:
- panic("unreachable")
- }
-
- variant = int32(14)
- variant64 = option4
- variant65 = int64(option5)
- variant66 = uintptr(option7)
- variant67 = option8
- variant68 = option9
- variant69 = 0
-
- case ErrorCode_HttpRequestDenied:
-
- variant = int32(15)
- variant64 = 0
- variant65 = 0
- variant66 = 0
- variant67 = 0
- variant68 = 0
- variant69 = 0
-
- case ErrorCode_HttpRequestLengthRequired:
-
- variant = int32(16)
- variant64 = 0
- variant65 = 0
- variant66 = 0
- variant67 = 0
- variant68 = 0
- variant69 = 0
-
- case ErrorCode_HttpRequestBodySize:
- payload := payload.HttpRequestBodySize()
- var option10 int32
- var option11 int64
- switch payload.Tag() {
- case witTypes.OptionNone:
-
- option10 = int32(0)
- option11 = 0
- case witTypes.OptionSome:
- payload := payload.Some()
-
- option10 = int32(1)
- option11 = int64(payload)
- default:
- panic("unreachable")
- }
-
- variant = int32(17)
- variant64 = option10
- variant65 = option11
- variant66 = 0
- variant67 = 0
- variant68 = 0
- variant69 = 0
-
- case ErrorCode_HttpRequestMethodInvalid:
-
- variant = int32(18)
- variant64 = 0
- variant65 = 0
- variant66 = 0
- variant67 = 0
- variant68 = 0
- variant69 = 0
-
- case ErrorCode_HttpRequestUriInvalid:
-
- variant = int32(19)
- variant64 = 0
- variant65 = 0
- variant66 = 0
- variant67 = 0
- variant68 = 0
- variant69 = 0
-
- case ErrorCode_HttpRequestUriTooLong:
-
- variant = int32(20)
- variant64 = 0
- variant65 = 0
- variant66 = 0
- variant67 = 0
- variant68 = 0
- variant69 = 0
-
- case ErrorCode_HttpRequestHeaderSectionSize:
- payload := payload.HttpRequestHeaderSectionSize()
- var option12 int32
- var option13 int32
- switch payload.Tag() {
- case witTypes.OptionNone:
-
- option12 = int32(0)
- option13 = 0
- case witTypes.OptionSome:
- payload := payload.Some()
-
- option12 = int32(1)
- option13 = int32(payload)
- default:
- panic("unreachable")
- }
-
- variant = int32(21)
- variant64 = option12
- variant65 = int64(option13)
- variant66 = 0
- variant67 = 0
- variant68 = 0
- variant69 = 0
-
- case ErrorCode_HttpRequestHeaderSize:
- payload := payload.HttpRequestHeaderSize()
- var option20 int32
- var option21 int32
- var option22 uintptr
- var option23 uint32
- var option24 int32
- var option25 int32
- switch payload.Tag() {
- case witTypes.OptionNone:
-
- option20 = int32(0)
- option21 = 0
- option22 = 0
- option23 = 0
- option24 = 0
- option25 = 0
- case witTypes.OptionSome:
- payload := payload.Some()
- var option15 int32
- var option16 uintptr
- var option17 uint32
- switch (payload).FieldName.Tag() {
- case witTypes.OptionNone:
-
- option15 = int32(0)
- option16 = 0
- option17 = 0
- case witTypes.OptionSome:
- payload := (payload).FieldName.Some()
- utf814 := unsafe.Pointer(unsafe.StringData(payload))
- pinner.Pin(utf814)
-
- option15 = int32(1)
- option16 = uintptr(utf814)
- option17 = uint32(len(payload))
- default:
- panic("unreachable")
- }
- var option18 int32
- var option19 int32
- switch (payload).FieldSize.Tag() {
- case witTypes.OptionNone:
-
- option18 = int32(0)
- option19 = 0
- case witTypes.OptionSome:
- payload := (payload).FieldSize.Some()
-
- option18 = int32(1)
- option19 = int32(payload)
- default:
- panic("unreachable")
- }
-
- option20 = int32(1)
- option21 = option15
- option22 = option16
- option23 = option17
- option24 = option18
- option25 = option19
- default:
- panic("unreachable")
- }
-
- variant = int32(22)
- variant64 = option20
- variant65 = int64(option21)
- variant66 = option22
- variant67 = uintptr(option23)
- variant68 = uint32(option24)
- variant69 = option25
-
- case ErrorCode_HttpRequestTrailerSectionSize:
- payload := payload.HttpRequestTrailerSectionSize()
- var option26 int32
- var option27 int32
- switch payload.Tag() {
- case witTypes.OptionNone:
-
- option26 = int32(0)
- option27 = 0
- case witTypes.OptionSome:
- payload := payload.Some()
-
- option26 = int32(1)
- option27 = int32(payload)
- default:
- panic("unreachable")
- }
-
- variant = int32(23)
- variant64 = option26
- variant65 = int64(option27)
- variant66 = 0
- variant67 = 0
- variant68 = 0
- variant69 = 0
-
- case ErrorCode_HttpRequestTrailerSize:
- payload := payload.HttpRequestTrailerSize()
- var option29 int32
- var option30 uintptr
- var option31 uint32
- switch (payload).FieldName.Tag() {
- case witTypes.OptionNone:
-
- option29 = int32(0)
- option30 = 0
- option31 = 0
- case witTypes.OptionSome:
- payload := (payload).FieldName.Some()
- utf828 := unsafe.Pointer(unsafe.StringData(payload))
- pinner.Pin(utf828)
-
- option29 = int32(1)
- option30 = uintptr(utf828)
- option31 = uint32(len(payload))
- default:
- panic("unreachable")
- }
- var option32 int32
- var option33 int32
- switch (payload).FieldSize.Tag() {
- case witTypes.OptionNone:
-
- option32 = int32(0)
- option33 = 0
- case witTypes.OptionSome:
- payload := (payload).FieldSize.Some()
-
- option32 = int32(1)
- option33 = int32(payload)
- default:
- panic("unreachable")
- }
-
- variant = int32(24)
- variant64 = option29
- variant65 = int64(option30)
- variant66 = uintptr(option31)
- variant67 = uintptr(option32)
- variant68 = uint32(option33)
- variant69 = 0
-
- case ErrorCode_HttpResponseIncomplete:
-
- variant = int32(25)
- variant64 = 0
- variant65 = 0
- variant66 = 0
- variant67 = 0
- variant68 = 0
- variant69 = 0
-
- case ErrorCode_HttpResponseHeaderSectionSize:
- payload := payload.HttpResponseHeaderSectionSize()
- var option34 int32
- var option35 int32
- switch payload.Tag() {
- case witTypes.OptionNone:
-
- option34 = int32(0)
- option35 = 0
- case witTypes.OptionSome:
- payload := payload.Some()
-
- option34 = int32(1)
- option35 = int32(payload)
- default:
- panic("unreachable")
- }
-
- variant = int32(26)
- variant64 = option34
- variant65 = int64(option35)
- variant66 = 0
- variant67 = 0
- variant68 = 0
- variant69 = 0
-
- case ErrorCode_HttpResponseHeaderSize:
- payload := payload.HttpResponseHeaderSize()
- var option37 int32
- var option38 uintptr
- var option39 uint32
- switch (payload).FieldName.Tag() {
- case witTypes.OptionNone:
-
- option37 = int32(0)
- option38 = 0
- option39 = 0
- case witTypes.OptionSome:
- payload := (payload).FieldName.Some()
- utf836 := unsafe.Pointer(unsafe.StringData(payload))
- pinner.Pin(utf836)
-
- option37 = int32(1)
- option38 = uintptr(utf836)
- option39 = uint32(len(payload))
- default:
- panic("unreachable")
- }
- var option40 int32
- var option41 int32
- switch (payload).FieldSize.Tag() {
- case witTypes.OptionNone:
-
- option40 = int32(0)
- option41 = 0
- case witTypes.OptionSome:
- payload := (payload).FieldSize.Some()
-
- option40 = int32(1)
- option41 = int32(payload)
- default:
- panic("unreachable")
- }
-
- variant = int32(27)
- variant64 = option37
- variant65 = int64(option38)
- variant66 = uintptr(option39)
- variant67 = uintptr(option40)
- variant68 = uint32(option41)
- variant69 = 0
-
- case ErrorCode_HttpResponseBodySize:
- payload := payload.HttpResponseBodySize()
- var option42 int32
- var option43 int64
- switch payload.Tag() {
- case witTypes.OptionNone:
-
- option42 = int32(0)
- option43 = 0
- case witTypes.OptionSome:
- payload := payload.Some()
-
- option42 = int32(1)
- option43 = int64(payload)
- default:
- panic("unreachable")
- }
-
- variant = int32(28)
- variant64 = option42
- variant65 = option43
- variant66 = 0
- variant67 = 0
- variant68 = 0
- variant69 = 0
-
- case ErrorCode_HttpResponseTrailerSectionSize:
- payload := payload.HttpResponseTrailerSectionSize()
- var option44 int32
- var option45 int32
- switch payload.Tag() {
- case witTypes.OptionNone:
-
- option44 = int32(0)
- option45 = 0
- case witTypes.OptionSome:
- payload := payload.Some()
-
- option44 = int32(1)
- option45 = int32(payload)
- default:
- panic("unreachable")
- }
-
- variant = int32(29)
- variant64 = option44
- variant65 = int64(option45)
- variant66 = 0
- variant67 = 0
- variant68 = 0
- variant69 = 0
-
- case ErrorCode_HttpResponseTrailerSize:
- payload := payload.HttpResponseTrailerSize()
- var option47 int32
- var option48 uintptr
- var option49 uint32
- switch (payload).FieldName.Tag() {
- case witTypes.OptionNone:
-
- option47 = int32(0)
- option48 = 0
- option49 = 0
- case witTypes.OptionSome:
- payload := (payload).FieldName.Some()
- utf846 := unsafe.Pointer(unsafe.StringData(payload))
- pinner.Pin(utf846)
-
- option47 = int32(1)
- option48 = uintptr(utf846)
- option49 = uint32(len(payload))
- default:
- panic("unreachable")
- }
- var option50 int32
- var option51 int32
- switch (payload).FieldSize.Tag() {
- case witTypes.OptionNone:
-
- option50 = int32(0)
- option51 = 0
- case witTypes.OptionSome:
- payload := (payload).FieldSize.Some()
-
- option50 = int32(1)
- option51 = int32(payload)
- default:
- panic("unreachable")
- }
-
- variant = int32(30)
- variant64 = option47
- variant65 = int64(option48)
- variant66 = uintptr(option49)
- variant67 = uintptr(option50)
- variant68 = uint32(option51)
- variant69 = 0
-
- case ErrorCode_HttpResponseTransferCoding:
- payload := payload.HttpResponseTransferCoding()
- var option53 int32
- var option54 uintptr
- var option55 uint32
- switch payload.Tag() {
- case witTypes.OptionNone:
-
- option53 = int32(0)
- option54 = 0
- option55 = 0
- case witTypes.OptionSome:
- payload := payload.Some()
- utf852 := unsafe.Pointer(unsafe.StringData(payload))
- pinner.Pin(utf852)
-
- option53 = int32(1)
- option54 = uintptr(utf852)
- option55 = uint32(len(payload))
- default:
- panic("unreachable")
- }
-
- variant = int32(31)
- variant64 = option53
- variant65 = int64(option54)
- variant66 = uintptr(option55)
- variant67 = 0
- variant68 = 0
- variant69 = 0
-
- case ErrorCode_HttpResponseContentCoding:
- payload := payload.HttpResponseContentCoding()
- var option57 int32
- var option58 uintptr
- var option59 uint32
- switch payload.Tag() {
- case witTypes.OptionNone:
-
- option57 = int32(0)
- option58 = 0
- option59 = 0
- case witTypes.OptionSome:
- payload := payload.Some()
- utf856 := unsafe.Pointer(unsafe.StringData(payload))
- pinner.Pin(utf856)
-
- option57 = int32(1)
- option58 = uintptr(utf856)
- option59 = uint32(len(payload))
- default:
- panic("unreachable")
- }
-
- variant = int32(32)
- variant64 = option57
- variant65 = int64(option58)
- variant66 = uintptr(option59)
- variant67 = 0
- variant68 = 0
- variant69 = 0
-
- case ErrorCode_HttpResponseTimeout:
-
- variant = int32(33)
- variant64 = 0
- variant65 = 0
- variant66 = 0
- variant67 = 0
- variant68 = 0
- variant69 = 0
-
- case ErrorCode_HttpUpgradeFailed:
-
- variant = int32(34)
- variant64 = 0
- variant65 = 0
- variant66 = 0
- variant67 = 0
- variant68 = 0
- variant69 = 0
-
- case ErrorCode_HttpProtocolError:
-
- variant = int32(35)
- variant64 = 0
- variant65 = 0
- variant66 = 0
- variant67 = 0
- variant68 = 0
- variant69 = 0
-
- case ErrorCode_LoopDetected:
-
- variant = int32(36)
- variant64 = 0
- variant65 = 0
- variant66 = 0
- variant67 = 0
- variant68 = 0
- variant69 = 0
-
- case ErrorCode_ConfigurationError:
-
- variant = int32(37)
- variant64 = 0
- variant65 = 0
- variant66 = 0
- variant67 = 0
- variant68 = 0
- variant69 = 0
-
- case ErrorCode_InternalError:
- payload := payload.InternalError()
- var option61 int32
- var option62 uintptr
- var option63 uint32
- switch payload.Tag() {
- case witTypes.OptionNone:
-
- option61 = int32(0)
- option62 = 0
- option63 = 0
- case witTypes.OptionSome:
- payload := payload.Some()
- utf860 := unsafe.Pointer(unsafe.StringData(payload))
- pinner.Pin(utf860)
-
- option61 = int32(1)
- option62 = uintptr(utf860)
- option63 = uint32(len(payload))
- default:
- panic("unreachable")
- }
-
- variant = int32(38)
- variant64 = option61
- variant65 = int64(option62)
- variant66 = uintptr(option63)
- variant67 = 0
- variant68 = 0
- variant69 = 0
-
- default:
- panic("unreachable")
- }
-
- option70 = int32(1)
- option71 = variant
- option72 = variant64
- option73 = variant65
- option74 = variant66
- option75 = variant67
- option76 = variant68
- option77 = variant69
- default:
- panic("unreachable")
- }
- wasm_import_static_response_outparam_set((param).TakeHandle(), option70, option71, option72, option73, option74, option75, option76, option77)
-
-}
-
-//go:wasmimport wasi:http/types@0.2.8 [method]incoming-response.status
-func wasm_import_method_incoming_response_status(arg0 int32) int32
-
-func (self *IncomingResponse) Status() uint16 {
-
- result := wasm_import_method_incoming_response_status((self).Handle())
- return uint16(result)
-
-}
-
-//go:wasmimport wasi:http/types@0.2.8 [method]incoming-response.headers
-func wasm_import_method_incoming_response_headers(arg0 int32) int32
-
-func (self *IncomingResponse) Headers() *Fields {
-
- result := wasm_import_method_incoming_response_headers((self).Handle())
- return FieldsFromOwnHandle(int32(uintptr(result)))
-
-}
-
-//go:wasmimport wasi:http/types@0.2.8 [method]incoming-response.consume
-func wasm_import_method_incoming_response_consume(arg0 int32, arg1 uintptr)
-
-func (self *IncomingResponse) Consume() witTypes.Result[*IncomingBody, witTypes.Unit] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 8, 4))
- wasm_import_method_incoming_response_consume((self).Handle(), returnArea)
- var result witTypes.Result[*IncomingBody, witTypes.Unit]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- result = witTypes.Ok[*IncomingBody, witTypes.Unit](IncomingBodyFromOwnHandle(int32(uintptr(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 4))))))
- case 1:
-
- result = witTypes.Err[*IncomingBody, witTypes.Unit](witTypes.Unit{})
- default:
- panic("unreachable")
- }
- result0 := result
- return result0
-
-}
-
-//go:wasmimport wasi:http/types@0.2.8 [method]incoming-body.stream
-func wasm_import_method_incoming_body_stream(arg0 int32, arg1 uintptr)
-
-func (self *IncomingBody) Stream() witTypes.Result[*wasi_io_0_2_8_streams.InputStream, witTypes.Unit] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 8, 4))
- wasm_import_method_incoming_body_stream((self).Handle(), returnArea)
- var result witTypes.Result[*wasi_io_0_2_8_streams.InputStream, witTypes.Unit]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- result = witTypes.Ok[*wasi_io_0_2_8_streams.InputStream, witTypes.Unit](wasi_io_0_2_8_streams.InputStreamFromOwnHandle(int32(uintptr(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 4))))))
- case 1:
-
- result = witTypes.Err[*wasi_io_0_2_8_streams.InputStream, witTypes.Unit](witTypes.Unit{})
- default:
- panic("unreachable")
- }
- result0 := result
- return result0
-
-}
-
-//go:wasmimport wasi:http/types@0.2.8 [static]incoming-body.finish
-func wasm_import_static_incoming_body_finish(arg0 int32) int32
-
-func IncomingBodyFinish(this *IncomingBody) *FutureTrailers {
-
- result := wasm_import_static_incoming_body_finish((this).TakeHandle())
- return FutureTrailersFromOwnHandle(int32(uintptr(result)))
-
-}
-
-//go:wasmimport wasi:http/types@0.2.8 [method]future-trailers.subscribe
-func wasm_import_method_future_trailers_subscribe(arg0 int32) int32
-
-func (self *FutureTrailers) Subscribe() *wasi_io_0_2_8_poll.Pollable {
-
- result := wasm_import_method_future_trailers_subscribe((self).Handle())
- return wasi_io_0_2_8_poll.PollableFromOwnHandle(int32(uintptr(result)))
-
-}
-
-//go:wasmimport wasi:http/types@0.2.8 [method]future-trailers.get
-func wasm_import_method_future_trailers_get(arg0 int32, arg1 uintptr)
-
-func (self *FutureTrailers) Get() witTypes.Option[witTypes.Result[witTypes.Result[witTypes.Option[*Fields], ErrorCode], witTypes.Unit]] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, (40 + 4*4), 8))
- wasm_import_method_future_trailers_get((self).Handle(), returnArea)
- var option31 witTypes.Option[witTypes.Result[witTypes.Result[witTypes.Option[*Fields], ErrorCode], witTypes.Unit]]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- option31 = witTypes.None[witTypes.Result[witTypes.Result[witTypes.Option[*Fields], ErrorCode], witTypes.Unit]]()
- case 1:
- var result30 witTypes.Result[witTypes.Result[witTypes.Option[*Fields], ErrorCode], witTypes.Unit]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 8))) {
- case 0:
- var result witTypes.Result[witTypes.Option[*Fields], ErrorCode]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 16))) {
- case 0:
- var option witTypes.Option[*Fields]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 24))) {
- case 0:
-
- option = witTypes.None[*Fields]()
- case 1:
-
- option = witTypes.Some[*Fields](FieldsFromOwnHandle(int32(uintptr(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 28))))))
- default:
- panic("unreachable")
- }
-
- result = witTypes.Ok[witTypes.Option[*Fields], ErrorCode](option)
- case 1:
- var variant ErrorCode
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 24))) {
- case 0:
-
- variant = MakeErrorCodeDnsTimeout()
-
- case 1:
- var option0 witTypes.Option[string]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 32))) {
- case 0:
-
- option0 = witTypes.None[string]()
- case 1:
- value := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (32 + 1*4)))))), *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (32 + 2*4))))
-
- option0 = witTypes.Some[string](value)
- default:
- panic("unreachable")
- }
- var option1 witTypes.Option[uint16]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (32 + 3*4)))) {
- case 0:
-
- option1 = witTypes.None[uint16]()
- case 1:
-
- option1 = witTypes.Some[uint16](uint16(uint16(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (34 + 3*4))))))
- default:
- panic("unreachable")
- }
-
- variant = MakeErrorCodeDnsError(DnsErrorPayload{Rcode: option0, InfoCode: option1})
-
- case 2:
-
- variant = MakeErrorCodeDestinationNotFound()
-
- case 3:
-
- variant = MakeErrorCodeDestinationUnavailable()
-
- case 4:
-
- variant = MakeErrorCodeDestinationIpProhibited()
-
- case 5:
-
- variant = MakeErrorCodeDestinationIpUnroutable()
-
- case 6:
-
- variant = MakeErrorCodeConnectionRefused()
-
- case 7:
-
- variant = MakeErrorCodeConnectionTerminated()
-
- case 8:
-
- variant = MakeErrorCodeConnectionTimeout()
-
- case 9:
-
- variant = MakeErrorCodeConnectionReadTimeout()
-
- case 10:
-
- variant = MakeErrorCodeConnectionWriteTimeout()
-
- case 11:
-
- variant = MakeErrorCodeConnectionLimitReached()
-
- case 12:
-
- variant = MakeErrorCodeTlsProtocolError()
-
- case 13:
-
- variant = MakeErrorCodeTlsCertificateError()
-
- case 14:
- var option2 witTypes.Option[uint8]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 32))) {
- case 0:
-
- option2 = witTypes.None[uint8]()
- case 1:
-
- option2 = witTypes.Some[uint8](uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 33)))))
- default:
- panic("unreachable")
- }
- var option4 witTypes.Option[string]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (32 + 1*4)))) {
- case 0:
-
- option4 = witTypes.None[string]()
- case 1:
- value3 := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (32 + 2*4)))))), *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (32 + 3*4))))
-
- option4 = witTypes.Some[string](value3)
- default:
- panic("unreachable")
- }
-
- variant = MakeErrorCodeTlsAlertReceived(TlsAlertReceivedPayload{AlertId: option2, AlertMessage: option4})
-
- case 15:
-
- variant = MakeErrorCodeHttpRequestDenied()
-
- case 16:
-
- variant = MakeErrorCodeHttpRequestLengthRequired()
-
- case 17:
- var option5 witTypes.Option[uint64]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 32))) {
- case 0:
-
- option5 = witTypes.None[uint64]()
- case 1:
-
- option5 = witTypes.Some[uint64](uint64(*(*int64)(unsafe.Add(unsafe.Pointer(returnArea), 40))))
- default:
- panic("unreachable")
- }
-
- variant = MakeErrorCodeHttpRequestBodySize(option5)
-
- case 18:
-
- variant = MakeErrorCodeHttpRequestMethodInvalid()
-
- case 19:
-
- variant = MakeErrorCodeHttpRequestUriInvalid()
-
- case 20:
-
- variant = MakeErrorCodeHttpRequestUriTooLong()
-
- case 21:
- var option6 witTypes.Option[uint32]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 32))) {
- case 0:
-
- option6 = witTypes.None[uint32]()
- case 1:
-
- option6 = witTypes.Some[uint32](uint32(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 36))))
- default:
- panic("unreachable")
- }
-
- variant = MakeErrorCodeHttpRequestHeaderSectionSize(option6)
-
- case 22:
- var option10 witTypes.Option[FieldSizePayload]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 32))) {
- case 0:
-
- option10 = witTypes.None[FieldSizePayload]()
- case 1:
- var option8 witTypes.Option[string]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (32 + 1*4)))) {
- case 0:
-
- option8 = witTypes.None[string]()
- case 1:
- value7 := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (32 + 2*4)))))), *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (32 + 3*4))))
-
- option8 = witTypes.Some[string](value7)
- default:
- panic("unreachable")
- }
- var option9 witTypes.Option[uint32]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (32 + 4*4)))) {
- case 0:
-
- option9 = witTypes.None[uint32]()
- case 1:
-
- option9 = witTypes.Some[uint32](uint32(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), (36 + 4*4)))))
- default:
- panic("unreachable")
- }
-
- option10 = witTypes.Some[FieldSizePayload](FieldSizePayload{FieldName: option8, FieldSize: option9})
- default:
- panic("unreachable")
- }
-
- variant = MakeErrorCodeHttpRequestHeaderSize(option10)
-
- case 23:
- var option11 witTypes.Option[uint32]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 32))) {
- case 0:
-
- option11 = witTypes.None[uint32]()
- case 1:
-
- option11 = witTypes.Some[uint32](uint32(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 36))))
- default:
- panic("unreachable")
- }
-
- variant = MakeErrorCodeHttpRequestTrailerSectionSize(option11)
-
- case 24:
- var option13 witTypes.Option[string]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 32))) {
- case 0:
-
- option13 = witTypes.None[string]()
- case 1:
- value12 := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (32 + 1*4)))))), *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (32 + 2*4))))
-
- option13 = witTypes.Some[string](value12)
- default:
- panic("unreachable")
- }
- var option14 witTypes.Option[uint32]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (32 + 3*4)))) {
- case 0:
-
- option14 = witTypes.None[uint32]()
- case 1:
-
- option14 = witTypes.Some[uint32](uint32(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), (36 + 3*4)))))
- default:
- panic("unreachable")
- }
-
- variant = MakeErrorCodeHttpRequestTrailerSize(FieldSizePayload{FieldName: option13, FieldSize: option14})
-
- case 25:
-
- variant = MakeErrorCodeHttpResponseIncomplete()
-
- case 26:
- var option15 witTypes.Option[uint32]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 32))) {
- case 0:
-
- option15 = witTypes.None[uint32]()
- case 1:
-
- option15 = witTypes.Some[uint32](uint32(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 36))))
- default:
- panic("unreachable")
- }
-
- variant = MakeErrorCodeHttpResponseHeaderSectionSize(option15)
-
- case 27:
- var option17 witTypes.Option[string]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 32))) {
- case 0:
-
- option17 = witTypes.None[string]()
- case 1:
- value16 := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (32 + 1*4)))))), *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (32 + 2*4))))
-
- option17 = witTypes.Some[string](value16)
- default:
- panic("unreachable")
- }
- var option18 witTypes.Option[uint32]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (32 + 3*4)))) {
- case 0:
-
- option18 = witTypes.None[uint32]()
- case 1:
-
- option18 = witTypes.Some[uint32](uint32(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), (36 + 3*4)))))
- default:
- panic("unreachable")
- }
-
- variant = MakeErrorCodeHttpResponseHeaderSize(FieldSizePayload{FieldName: option17, FieldSize: option18})
-
- case 28:
- var option19 witTypes.Option[uint64]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 32))) {
- case 0:
-
- option19 = witTypes.None[uint64]()
- case 1:
-
- option19 = witTypes.Some[uint64](uint64(*(*int64)(unsafe.Add(unsafe.Pointer(returnArea), 40))))
- default:
- panic("unreachable")
- }
-
- variant = MakeErrorCodeHttpResponseBodySize(option19)
-
- case 29:
- var option20 witTypes.Option[uint32]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 32))) {
- case 0:
-
- option20 = witTypes.None[uint32]()
- case 1:
-
- option20 = witTypes.Some[uint32](uint32(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 36))))
- default:
- panic("unreachable")
- }
-
- variant = MakeErrorCodeHttpResponseTrailerSectionSize(option20)
-
- case 30:
- var option22 witTypes.Option[string]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 32))) {
- case 0:
-
- option22 = witTypes.None[string]()
- case 1:
- value21 := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (32 + 1*4)))))), *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (32 + 2*4))))
-
- option22 = witTypes.Some[string](value21)
- default:
- panic("unreachable")
- }
- var option23 witTypes.Option[uint32]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (32 + 3*4)))) {
- case 0:
-
- option23 = witTypes.None[uint32]()
- case 1:
-
- option23 = witTypes.Some[uint32](uint32(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), (36 + 3*4)))))
- default:
- panic("unreachable")
- }
-
- variant = MakeErrorCodeHttpResponseTrailerSize(FieldSizePayload{FieldName: option22, FieldSize: option23})
-
- case 31:
- var option25 witTypes.Option[string]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 32))) {
- case 0:
-
- option25 = witTypes.None[string]()
- case 1:
- value24 := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (32 + 1*4)))))), *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (32 + 2*4))))
-
- option25 = witTypes.Some[string](value24)
- default:
- panic("unreachable")
- }
-
- variant = MakeErrorCodeHttpResponseTransferCoding(option25)
-
- case 32:
- var option27 witTypes.Option[string]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 32))) {
- case 0:
-
- option27 = witTypes.None[string]()
- case 1:
- value26 := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (32 + 1*4)))))), *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (32 + 2*4))))
-
- option27 = witTypes.Some[string](value26)
- default:
- panic("unreachable")
- }
-
- variant = MakeErrorCodeHttpResponseContentCoding(option27)
-
- case 33:
-
- variant = MakeErrorCodeHttpResponseTimeout()
-
- case 34:
-
- variant = MakeErrorCodeHttpUpgradeFailed()
-
- case 35:
-
- variant = MakeErrorCodeHttpProtocolError()
-
- case 36:
-
- variant = MakeErrorCodeLoopDetected()
-
- case 37:
-
- variant = MakeErrorCodeConfigurationError()
-
- case 38:
- var option29 witTypes.Option[string]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 32))) {
- case 0:
-
- option29 = witTypes.None[string]()
- case 1:
- value28 := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (32 + 1*4)))))), *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (32 + 2*4))))
-
- option29 = witTypes.Some[string](value28)
- default:
- panic("unreachable")
- }
-
- variant = MakeErrorCodeInternalError(option29)
-
- default:
- panic("unreachable")
- }
-
- result = witTypes.Err[witTypes.Option[*Fields], ErrorCode](variant)
- default:
- panic("unreachable")
- }
-
- result30 = witTypes.Ok[witTypes.Result[witTypes.Option[*Fields], ErrorCode], witTypes.Unit](result)
- case 1:
-
- result30 = witTypes.Err[witTypes.Result[witTypes.Option[*Fields], ErrorCode], witTypes.Unit](witTypes.Unit{})
- default:
- panic("unreachable")
- }
-
- option31 = witTypes.Some[witTypes.Result[witTypes.Result[witTypes.Option[*Fields], ErrorCode], witTypes.Unit]](result30)
- default:
- panic("unreachable")
- }
- result32 := option31
- return result32
-
-}
-
-//go:wasmimport wasi:http/types@0.2.8 [constructor]outgoing-response
-func wasm_import_constructor_outgoing_response(arg0 int32) int32
-
-func MakeOutgoingResponse(headers *Fields) *OutgoingResponse {
-
- result := wasm_import_constructor_outgoing_response((headers).TakeHandle())
- return OutgoingResponseFromOwnHandle(int32(uintptr(result)))
-
-}
-
-//go:wasmimport wasi:http/types@0.2.8 [method]outgoing-response.status-code
-func wasm_import_method_outgoing_response_status_code(arg0 int32) int32
-
-func (self *OutgoingResponse) StatusCode() uint16 {
-
- result := wasm_import_method_outgoing_response_status_code((self).Handle())
- return uint16(result)
-
-}
-
-//go:wasmimport wasi:http/types@0.2.8 [method]outgoing-response.set-status-code
-func wasm_import_method_outgoing_response_set_status_code(arg0 int32, arg1 int32) int32
-
-func (self *OutgoingResponse) SetStatusCode(statusCode uint16) witTypes.Result[witTypes.Unit, witTypes.Unit] {
-
- result := wasm_import_method_outgoing_response_set_status_code((self).Handle(), int32(statusCode))
- var result0 witTypes.Result[witTypes.Unit, witTypes.Unit]
- switch result {
- case 0:
-
- result0 = witTypes.Ok[witTypes.Unit, witTypes.Unit](witTypes.Unit{})
- case 1:
-
- result0 = witTypes.Err[witTypes.Unit, witTypes.Unit](witTypes.Unit{})
- default:
- panic("unreachable")
- }
- return result0
-
-}
-
-//go:wasmimport wasi:http/types@0.2.8 [method]outgoing-response.headers
-func wasm_import_method_outgoing_response_headers(arg0 int32) int32
-
-func (self *OutgoingResponse) Headers() *Fields {
-
- result := wasm_import_method_outgoing_response_headers((self).Handle())
- return FieldsFromOwnHandle(int32(uintptr(result)))
-
-}
-
-//go:wasmimport wasi:http/types@0.2.8 [method]outgoing-response.body
-func wasm_import_method_outgoing_response_body(arg0 int32, arg1 uintptr)
-
-func (self *OutgoingResponse) Body() witTypes.Result[*OutgoingBody, witTypes.Unit] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 8, 4))
- wasm_import_method_outgoing_response_body((self).Handle(), returnArea)
- var result witTypes.Result[*OutgoingBody, witTypes.Unit]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- result = witTypes.Ok[*OutgoingBody, witTypes.Unit](OutgoingBodyFromOwnHandle(int32(uintptr(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 4))))))
- case 1:
-
- result = witTypes.Err[*OutgoingBody, witTypes.Unit](witTypes.Unit{})
- default:
- panic("unreachable")
- }
- result0 := result
- return result0
-
-}
-
-//go:wasmimport wasi:http/types@0.2.8 [method]outgoing-body.write
-func wasm_import_method_outgoing_body_write(arg0 int32, arg1 uintptr)
-
-func (self *OutgoingBody) Write() witTypes.Result[*wasi_io_0_2_8_streams.OutputStream, witTypes.Unit] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 8, 4))
- wasm_import_method_outgoing_body_write((self).Handle(), returnArea)
- var result witTypes.Result[*wasi_io_0_2_8_streams.OutputStream, witTypes.Unit]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- result = witTypes.Ok[*wasi_io_0_2_8_streams.OutputStream, witTypes.Unit](wasi_io_0_2_8_streams.OutputStreamFromOwnHandle(int32(uintptr(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 4))))))
- case 1:
-
- result = witTypes.Err[*wasi_io_0_2_8_streams.OutputStream, witTypes.Unit](witTypes.Unit{})
- default:
- panic("unreachable")
- }
- result0 := result
- return result0
-
-}
-
-//go:wasmimport wasi:http/types@0.2.8 [static]outgoing-body.finish
-func wasm_import_static_outgoing_body_finish(arg0 int32, arg1 int32, arg2 int32, arg3 uintptr)
-
-func OutgoingBodyFinish(this *OutgoingBody, trailers witTypes.Option[*Fields]) witTypes.Result[witTypes.Unit, ErrorCode] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, (24 + 4*4), 8))
- var option int32
- var option0 int32
- switch trailers.Tag() {
- case witTypes.OptionNone:
-
- option = int32(0)
- option0 = 0
- case witTypes.OptionSome:
- payload := trailers.Some()
-
- option = int32(1)
- option0 = (payload).TakeHandle()
- default:
- panic("unreachable")
- }
- wasm_import_static_outgoing_body_finish((this).TakeHandle(), option, option0, returnArea)
- var result witTypes.Result[witTypes.Unit, ErrorCode]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- result = witTypes.Ok[witTypes.Unit, ErrorCode](witTypes.Unit{})
- case 1:
- var variant ErrorCode
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 8))) {
- case 0:
-
- variant = MakeErrorCodeDnsTimeout()
-
- case 1:
- var option1 witTypes.Option[string]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 16))) {
- case 0:
-
- option1 = witTypes.None[string]()
- case 1:
- value := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 1*4)))))), *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 2*4))))
-
- option1 = witTypes.Some[string](value)
- default:
- panic("unreachable")
- }
- var option2 witTypes.Option[uint16]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 3*4)))) {
- case 0:
-
- option2 = witTypes.None[uint16]()
- case 1:
-
- option2 = witTypes.Some[uint16](uint16(uint16(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (18 + 3*4))))))
- default:
- panic("unreachable")
- }
-
- variant = MakeErrorCodeDnsError(DnsErrorPayload{Rcode: option1, InfoCode: option2})
-
- case 2:
-
- variant = MakeErrorCodeDestinationNotFound()
-
- case 3:
-
- variant = MakeErrorCodeDestinationUnavailable()
-
- case 4:
-
- variant = MakeErrorCodeDestinationIpProhibited()
-
- case 5:
-
- variant = MakeErrorCodeDestinationIpUnroutable()
-
- case 6:
-
- variant = MakeErrorCodeConnectionRefused()
-
- case 7:
-
- variant = MakeErrorCodeConnectionTerminated()
-
- case 8:
-
- variant = MakeErrorCodeConnectionTimeout()
-
- case 9:
-
- variant = MakeErrorCodeConnectionReadTimeout()
-
- case 10:
-
- variant = MakeErrorCodeConnectionWriteTimeout()
-
- case 11:
-
- variant = MakeErrorCodeConnectionLimitReached()
-
- case 12:
-
- variant = MakeErrorCodeTlsProtocolError()
-
- case 13:
-
- variant = MakeErrorCodeTlsCertificateError()
-
- case 14:
- var option3 witTypes.Option[uint8]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 16))) {
- case 0:
-
- option3 = witTypes.None[uint8]()
- case 1:
-
- option3 = witTypes.Some[uint8](uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 17)))))
- default:
- panic("unreachable")
- }
- var option5 witTypes.Option[string]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 1*4)))) {
- case 0:
-
- option5 = witTypes.None[string]()
- case 1:
- value4 := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 2*4)))))), *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 3*4))))
-
- option5 = witTypes.Some[string](value4)
- default:
- panic("unreachable")
- }
-
- variant = MakeErrorCodeTlsAlertReceived(TlsAlertReceivedPayload{AlertId: option3, AlertMessage: option5})
-
- case 15:
-
- variant = MakeErrorCodeHttpRequestDenied()
-
- case 16:
-
- variant = MakeErrorCodeHttpRequestLengthRequired()
-
- case 17:
- var option6 witTypes.Option[uint64]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 16))) {
- case 0:
-
- option6 = witTypes.None[uint64]()
- case 1:
-
- option6 = witTypes.Some[uint64](uint64(*(*int64)(unsafe.Add(unsafe.Pointer(returnArea), 24))))
- default:
- panic("unreachable")
- }
-
- variant = MakeErrorCodeHttpRequestBodySize(option6)
-
- case 18:
-
- variant = MakeErrorCodeHttpRequestMethodInvalid()
-
- case 19:
-
- variant = MakeErrorCodeHttpRequestUriInvalid()
-
- case 20:
-
- variant = MakeErrorCodeHttpRequestUriTooLong()
-
- case 21:
- var option7 witTypes.Option[uint32]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 16))) {
- case 0:
-
- option7 = witTypes.None[uint32]()
- case 1:
-
- option7 = witTypes.Some[uint32](uint32(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 20))))
- default:
- panic("unreachable")
- }
-
- variant = MakeErrorCodeHttpRequestHeaderSectionSize(option7)
-
- case 22:
- var option11 witTypes.Option[FieldSizePayload]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 16))) {
- case 0:
-
- option11 = witTypes.None[FieldSizePayload]()
- case 1:
- var option9 witTypes.Option[string]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 1*4)))) {
- case 0:
-
- option9 = witTypes.None[string]()
- case 1:
- value8 := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 2*4)))))), *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 3*4))))
-
- option9 = witTypes.Some[string](value8)
- default:
- panic("unreachable")
- }
- var option10 witTypes.Option[uint32]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 4*4)))) {
- case 0:
-
- option10 = witTypes.None[uint32]()
- case 1:
-
- option10 = witTypes.Some[uint32](uint32(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), (20 + 4*4)))))
- default:
- panic("unreachable")
- }
-
- option11 = witTypes.Some[FieldSizePayload](FieldSizePayload{FieldName: option9, FieldSize: option10})
- default:
- panic("unreachable")
- }
-
- variant = MakeErrorCodeHttpRequestHeaderSize(option11)
-
- case 23:
- var option12 witTypes.Option[uint32]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 16))) {
- case 0:
-
- option12 = witTypes.None[uint32]()
- case 1:
-
- option12 = witTypes.Some[uint32](uint32(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 20))))
- default:
- panic("unreachable")
- }
-
- variant = MakeErrorCodeHttpRequestTrailerSectionSize(option12)
-
- case 24:
- var option14 witTypes.Option[string]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 16))) {
- case 0:
-
- option14 = witTypes.None[string]()
- case 1:
- value13 := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 1*4)))))), *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 2*4))))
-
- option14 = witTypes.Some[string](value13)
- default:
- panic("unreachable")
- }
- var option15 witTypes.Option[uint32]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 3*4)))) {
- case 0:
-
- option15 = witTypes.None[uint32]()
- case 1:
-
- option15 = witTypes.Some[uint32](uint32(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), (20 + 3*4)))))
- default:
- panic("unreachable")
- }
-
- variant = MakeErrorCodeHttpRequestTrailerSize(FieldSizePayload{FieldName: option14, FieldSize: option15})
-
- case 25:
-
- variant = MakeErrorCodeHttpResponseIncomplete()
-
- case 26:
- var option16 witTypes.Option[uint32]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 16))) {
- case 0:
-
- option16 = witTypes.None[uint32]()
- case 1:
-
- option16 = witTypes.Some[uint32](uint32(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 20))))
- default:
- panic("unreachable")
- }
-
- variant = MakeErrorCodeHttpResponseHeaderSectionSize(option16)
-
- case 27:
- var option18 witTypes.Option[string]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 16))) {
- case 0:
-
- option18 = witTypes.None[string]()
- case 1:
- value17 := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 1*4)))))), *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 2*4))))
-
- option18 = witTypes.Some[string](value17)
- default:
- panic("unreachable")
- }
- var option19 witTypes.Option[uint32]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 3*4)))) {
- case 0:
-
- option19 = witTypes.None[uint32]()
- case 1:
-
- option19 = witTypes.Some[uint32](uint32(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), (20 + 3*4)))))
- default:
- panic("unreachable")
- }
-
- variant = MakeErrorCodeHttpResponseHeaderSize(FieldSizePayload{FieldName: option18, FieldSize: option19})
-
- case 28:
- var option20 witTypes.Option[uint64]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 16))) {
- case 0:
-
- option20 = witTypes.None[uint64]()
- case 1:
-
- option20 = witTypes.Some[uint64](uint64(*(*int64)(unsafe.Add(unsafe.Pointer(returnArea), 24))))
- default:
- panic("unreachable")
- }
-
- variant = MakeErrorCodeHttpResponseBodySize(option20)
-
- case 29:
- var option21 witTypes.Option[uint32]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 16))) {
- case 0:
-
- option21 = witTypes.None[uint32]()
- case 1:
-
- option21 = witTypes.Some[uint32](uint32(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 20))))
- default:
- panic("unreachable")
- }
-
- variant = MakeErrorCodeHttpResponseTrailerSectionSize(option21)
-
- case 30:
- var option23 witTypes.Option[string]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 16))) {
- case 0:
-
- option23 = witTypes.None[string]()
- case 1:
- value22 := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 1*4)))))), *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 2*4))))
-
- option23 = witTypes.Some[string](value22)
- default:
- panic("unreachable")
- }
- var option24 witTypes.Option[uint32]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 3*4)))) {
- case 0:
-
- option24 = witTypes.None[uint32]()
- case 1:
-
- option24 = witTypes.Some[uint32](uint32(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), (20 + 3*4)))))
- default:
- panic("unreachable")
- }
-
- variant = MakeErrorCodeHttpResponseTrailerSize(FieldSizePayload{FieldName: option23, FieldSize: option24})
-
- case 31:
- var option26 witTypes.Option[string]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 16))) {
- case 0:
-
- option26 = witTypes.None[string]()
- case 1:
- value25 := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 1*4)))))), *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 2*4))))
-
- option26 = witTypes.Some[string](value25)
- default:
- panic("unreachable")
- }
-
- variant = MakeErrorCodeHttpResponseTransferCoding(option26)
-
- case 32:
- var option28 witTypes.Option[string]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 16))) {
- case 0:
-
- option28 = witTypes.None[string]()
- case 1:
- value27 := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 1*4)))))), *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 2*4))))
-
- option28 = witTypes.Some[string](value27)
- default:
- panic("unreachable")
- }
-
- variant = MakeErrorCodeHttpResponseContentCoding(option28)
-
- case 33:
-
- variant = MakeErrorCodeHttpResponseTimeout()
-
- case 34:
-
- variant = MakeErrorCodeHttpUpgradeFailed()
-
- case 35:
-
- variant = MakeErrorCodeHttpProtocolError()
-
- case 36:
-
- variant = MakeErrorCodeLoopDetected()
-
- case 37:
-
- variant = MakeErrorCodeConfigurationError()
-
- case 38:
- var option30 witTypes.Option[string]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 16))) {
- case 0:
-
- option30 = witTypes.None[string]()
- case 1:
- value29 := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 1*4)))))), *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 2*4))))
-
- option30 = witTypes.Some[string](value29)
- default:
- panic("unreachable")
- }
-
- variant = MakeErrorCodeInternalError(option30)
-
- default:
- panic("unreachable")
- }
-
- result = witTypes.Err[witTypes.Unit, ErrorCode](variant)
- default:
- panic("unreachable")
- }
- result31 := result
- return result31
-
-}
-
-//go:wasmimport wasi:http/types@0.2.8 [method]future-incoming-response.subscribe
-func wasm_import_method_future_incoming_response_subscribe(arg0 int32) int32
-
-func (self *FutureIncomingResponse) Subscribe() *wasi_io_0_2_8_poll.Pollable {
-
- result := wasm_import_method_future_incoming_response_subscribe((self).Handle())
- return wasi_io_0_2_8_poll.PollableFromOwnHandle(int32(uintptr(result)))
-
-}
-
-//go:wasmimport wasi:http/types@0.2.8 [method]future-incoming-response.get
-func wasm_import_method_future_incoming_response_get(arg0 int32, arg1 uintptr)
-
-func (self *FutureIncomingResponse) Get() witTypes.Option[witTypes.Result[witTypes.Result[*IncomingResponse, ErrorCode], witTypes.Unit]] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, (40 + 4*4), 8))
- wasm_import_method_future_incoming_response_get((self).Handle(), returnArea)
- var option30 witTypes.Option[witTypes.Result[witTypes.Result[*IncomingResponse, ErrorCode], witTypes.Unit]]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- option30 = witTypes.None[witTypes.Result[witTypes.Result[*IncomingResponse, ErrorCode], witTypes.Unit]]()
- case 1:
- var result29 witTypes.Result[witTypes.Result[*IncomingResponse, ErrorCode], witTypes.Unit]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 8))) {
- case 0:
- var result witTypes.Result[*IncomingResponse, ErrorCode]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 16))) {
- case 0:
-
- result = witTypes.Ok[*IncomingResponse, ErrorCode](IncomingResponseFromOwnHandle(int32(uintptr(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 24))))))
- case 1:
- var variant ErrorCode
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 24))) {
- case 0:
-
- variant = MakeErrorCodeDnsTimeout()
-
- case 1:
- var option witTypes.Option[string]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 32))) {
- case 0:
-
- option = witTypes.None[string]()
- case 1:
- value := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (32 + 1*4)))))), *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (32 + 2*4))))
-
- option = witTypes.Some[string](value)
- default:
- panic("unreachable")
- }
- var option0 witTypes.Option[uint16]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (32 + 3*4)))) {
- case 0:
-
- option0 = witTypes.None[uint16]()
- case 1:
-
- option0 = witTypes.Some[uint16](uint16(uint16(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (34 + 3*4))))))
- default:
- panic("unreachable")
- }
-
- variant = MakeErrorCodeDnsError(DnsErrorPayload{Rcode: option, InfoCode: option0})
-
- case 2:
-
- variant = MakeErrorCodeDestinationNotFound()
-
- case 3:
-
- variant = MakeErrorCodeDestinationUnavailable()
-
- case 4:
-
- variant = MakeErrorCodeDestinationIpProhibited()
-
- case 5:
-
- variant = MakeErrorCodeDestinationIpUnroutable()
-
- case 6:
-
- variant = MakeErrorCodeConnectionRefused()
-
- case 7:
-
- variant = MakeErrorCodeConnectionTerminated()
-
- case 8:
-
- variant = MakeErrorCodeConnectionTimeout()
-
- case 9:
-
- variant = MakeErrorCodeConnectionReadTimeout()
-
- case 10:
-
- variant = MakeErrorCodeConnectionWriteTimeout()
-
- case 11:
-
- variant = MakeErrorCodeConnectionLimitReached()
-
- case 12:
-
- variant = MakeErrorCodeTlsProtocolError()
-
- case 13:
-
- variant = MakeErrorCodeTlsCertificateError()
-
- case 14:
- var option1 witTypes.Option[uint8]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 32))) {
- case 0:
-
- option1 = witTypes.None[uint8]()
- case 1:
-
- option1 = witTypes.Some[uint8](uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 33)))))
- default:
- panic("unreachable")
- }
- var option3 witTypes.Option[string]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (32 + 1*4)))) {
- case 0:
-
- option3 = witTypes.None[string]()
- case 1:
- value2 := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (32 + 2*4)))))), *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (32 + 3*4))))
-
- option3 = witTypes.Some[string](value2)
- default:
- panic("unreachable")
- }
-
- variant = MakeErrorCodeTlsAlertReceived(TlsAlertReceivedPayload{AlertId: option1, AlertMessage: option3})
-
- case 15:
-
- variant = MakeErrorCodeHttpRequestDenied()
-
- case 16:
-
- variant = MakeErrorCodeHttpRequestLengthRequired()
-
- case 17:
- var option4 witTypes.Option[uint64]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 32))) {
- case 0:
-
- option4 = witTypes.None[uint64]()
- case 1:
-
- option4 = witTypes.Some[uint64](uint64(*(*int64)(unsafe.Add(unsafe.Pointer(returnArea), 40))))
- default:
- panic("unreachable")
- }
-
- variant = MakeErrorCodeHttpRequestBodySize(option4)
-
- case 18:
-
- variant = MakeErrorCodeHttpRequestMethodInvalid()
-
- case 19:
-
- variant = MakeErrorCodeHttpRequestUriInvalid()
-
- case 20:
-
- variant = MakeErrorCodeHttpRequestUriTooLong()
-
- case 21:
- var option5 witTypes.Option[uint32]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 32))) {
- case 0:
-
- option5 = witTypes.None[uint32]()
- case 1:
-
- option5 = witTypes.Some[uint32](uint32(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 36))))
- default:
- panic("unreachable")
- }
-
- variant = MakeErrorCodeHttpRequestHeaderSectionSize(option5)
-
- case 22:
- var option9 witTypes.Option[FieldSizePayload]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 32))) {
- case 0:
-
- option9 = witTypes.None[FieldSizePayload]()
- case 1:
- var option7 witTypes.Option[string]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (32 + 1*4)))) {
- case 0:
-
- option7 = witTypes.None[string]()
- case 1:
- value6 := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (32 + 2*4)))))), *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (32 + 3*4))))
-
- option7 = witTypes.Some[string](value6)
- default:
- panic("unreachable")
- }
- var option8 witTypes.Option[uint32]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (32 + 4*4)))) {
- case 0:
-
- option8 = witTypes.None[uint32]()
- case 1:
-
- option8 = witTypes.Some[uint32](uint32(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), (36 + 4*4)))))
- default:
- panic("unreachable")
- }
-
- option9 = witTypes.Some[FieldSizePayload](FieldSizePayload{FieldName: option7, FieldSize: option8})
- default:
- panic("unreachable")
- }
-
- variant = MakeErrorCodeHttpRequestHeaderSize(option9)
-
- case 23:
- var option10 witTypes.Option[uint32]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 32))) {
- case 0:
-
- option10 = witTypes.None[uint32]()
- case 1:
-
- option10 = witTypes.Some[uint32](uint32(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 36))))
- default:
- panic("unreachable")
- }
-
- variant = MakeErrorCodeHttpRequestTrailerSectionSize(option10)
-
- case 24:
- var option12 witTypes.Option[string]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 32))) {
- case 0:
-
- option12 = witTypes.None[string]()
- case 1:
- value11 := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (32 + 1*4)))))), *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (32 + 2*4))))
-
- option12 = witTypes.Some[string](value11)
- default:
- panic("unreachable")
- }
- var option13 witTypes.Option[uint32]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (32 + 3*4)))) {
- case 0:
-
- option13 = witTypes.None[uint32]()
- case 1:
-
- option13 = witTypes.Some[uint32](uint32(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), (36 + 3*4)))))
- default:
- panic("unreachable")
- }
-
- variant = MakeErrorCodeHttpRequestTrailerSize(FieldSizePayload{FieldName: option12, FieldSize: option13})
-
- case 25:
-
- variant = MakeErrorCodeHttpResponseIncomplete()
-
- case 26:
- var option14 witTypes.Option[uint32]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 32))) {
- case 0:
-
- option14 = witTypes.None[uint32]()
- case 1:
-
- option14 = witTypes.Some[uint32](uint32(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 36))))
- default:
- panic("unreachable")
- }
-
- variant = MakeErrorCodeHttpResponseHeaderSectionSize(option14)
-
- case 27:
- var option16 witTypes.Option[string]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 32))) {
- case 0:
-
- option16 = witTypes.None[string]()
- case 1:
- value15 := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (32 + 1*4)))))), *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (32 + 2*4))))
-
- option16 = witTypes.Some[string](value15)
- default:
- panic("unreachable")
- }
- var option17 witTypes.Option[uint32]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (32 + 3*4)))) {
- case 0:
-
- option17 = witTypes.None[uint32]()
- case 1:
-
- option17 = witTypes.Some[uint32](uint32(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), (36 + 3*4)))))
- default:
- panic("unreachable")
- }
-
- variant = MakeErrorCodeHttpResponseHeaderSize(FieldSizePayload{FieldName: option16, FieldSize: option17})
-
- case 28:
- var option18 witTypes.Option[uint64]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 32))) {
- case 0:
-
- option18 = witTypes.None[uint64]()
- case 1:
-
- option18 = witTypes.Some[uint64](uint64(*(*int64)(unsafe.Add(unsafe.Pointer(returnArea), 40))))
- default:
- panic("unreachable")
- }
-
- variant = MakeErrorCodeHttpResponseBodySize(option18)
-
- case 29:
- var option19 witTypes.Option[uint32]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 32))) {
- case 0:
-
- option19 = witTypes.None[uint32]()
- case 1:
-
- option19 = witTypes.Some[uint32](uint32(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 36))))
- default:
- panic("unreachable")
- }
-
- variant = MakeErrorCodeHttpResponseTrailerSectionSize(option19)
-
- case 30:
- var option21 witTypes.Option[string]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 32))) {
- case 0:
-
- option21 = witTypes.None[string]()
- case 1:
- value20 := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (32 + 1*4)))))), *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (32 + 2*4))))
-
- option21 = witTypes.Some[string](value20)
- default:
- panic("unreachable")
- }
- var option22 witTypes.Option[uint32]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (32 + 3*4)))) {
- case 0:
-
- option22 = witTypes.None[uint32]()
- case 1:
-
- option22 = witTypes.Some[uint32](uint32(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), (36 + 3*4)))))
- default:
- panic("unreachable")
- }
-
- variant = MakeErrorCodeHttpResponseTrailerSize(FieldSizePayload{FieldName: option21, FieldSize: option22})
-
- case 31:
- var option24 witTypes.Option[string]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 32))) {
- case 0:
-
- option24 = witTypes.None[string]()
- case 1:
- value23 := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (32 + 1*4)))))), *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (32 + 2*4))))
-
- option24 = witTypes.Some[string](value23)
- default:
- panic("unreachable")
- }
-
- variant = MakeErrorCodeHttpResponseTransferCoding(option24)
-
- case 32:
- var option26 witTypes.Option[string]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 32))) {
- case 0:
-
- option26 = witTypes.None[string]()
- case 1:
- value25 := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (32 + 1*4)))))), *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (32 + 2*4))))
-
- option26 = witTypes.Some[string](value25)
- default:
- panic("unreachable")
- }
-
- variant = MakeErrorCodeHttpResponseContentCoding(option26)
-
- case 33:
-
- variant = MakeErrorCodeHttpResponseTimeout()
-
- case 34:
-
- variant = MakeErrorCodeHttpUpgradeFailed()
-
- case 35:
-
- variant = MakeErrorCodeHttpProtocolError()
-
- case 36:
-
- variant = MakeErrorCodeLoopDetected()
-
- case 37:
-
- variant = MakeErrorCodeConfigurationError()
-
- case 38:
- var option28 witTypes.Option[string]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 32))) {
- case 0:
-
- option28 = witTypes.None[string]()
- case 1:
- value27 := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (32 + 1*4)))))), *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (32 + 2*4))))
-
- option28 = witTypes.Some[string](value27)
- default:
- panic("unreachable")
- }
-
- variant = MakeErrorCodeInternalError(option28)
-
- default:
- panic("unreachable")
- }
-
- result = witTypes.Err[*IncomingResponse, ErrorCode](variant)
- default:
- panic("unreachable")
- }
-
- result29 = witTypes.Ok[witTypes.Result[*IncomingResponse, ErrorCode], witTypes.Unit](result)
- case 1:
-
- result29 = witTypes.Err[witTypes.Result[*IncomingResponse, ErrorCode], witTypes.Unit](witTypes.Unit{})
- default:
- panic("unreachable")
- }
-
- option30 = witTypes.Some[witTypes.Result[witTypes.Result[*IncomingResponse, ErrorCode], witTypes.Unit]](result29)
- default:
- panic("unreachable")
- }
- result31 := option30
- return result31
-
-}
-
-//go:wasmimport wasi:http/types@0.2.8 http-error-code
-func wasm_import_http_error_code(arg0 int32, arg1 uintptr)
-
-func HttpErrorCode(err *wasi_io_0_2_8_error.Error) witTypes.Option[ErrorCode] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, (24 + 4*4), 8))
- wasm_import_http_error_code((err).Handle(), returnArea)
- var option29 witTypes.Option[ErrorCode]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- option29 = witTypes.None[ErrorCode]()
- case 1:
- var variant ErrorCode
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 8))) {
- case 0:
-
- variant = MakeErrorCodeDnsTimeout()
-
- case 1:
- var option witTypes.Option[string]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 16))) {
- case 0:
-
- option = witTypes.None[string]()
- case 1:
- value := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 1*4)))))), *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 2*4))))
-
- option = witTypes.Some[string](value)
- default:
- panic("unreachable")
- }
- var option0 witTypes.Option[uint16]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 3*4)))) {
- case 0:
-
- option0 = witTypes.None[uint16]()
- case 1:
-
- option0 = witTypes.Some[uint16](uint16(uint16(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (18 + 3*4))))))
- default:
- panic("unreachable")
- }
-
- variant = MakeErrorCodeDnsError(DnsErrorPayload{Rcode: option, InfoCode: option0})
-
- case 2:
-
- variant = MakeErrorCodeDestinationNotFound()
-
- case 3:
-
- variant = MakeErrorCodeDestinationUnavailable()
-
- case 4:
-
- variant = MakeErrorCodeDestinationIpProhibited()
-
- case 5:
-
- variant = MakeErrorCodeDestinationIpUnroutable()
-
- case 6:
-
- variant = MakeErrorCodeConnectionRefused()
-
- case 7:
-
- variant = MakeErrorCodeConnectionTerminated()
-
- case 8:
-
- variant = MakeErrorCodeConnectionTimeout()
-
- case 9:
-
- variant = MakeErrorCodeConnectionReadTimeout()
-
- case 10:
-
- variant = MakeErrorCodeConnectionWriteTimeout()
-
- case 11:
-
- variant = MakeErrorCodeConnectionLimitReached()
-
- case 12:
-
- variant = MakeErrorCodeTlsProtocolError()
-
- case 13:
-
- variant = MakeErrorCodeTlsCertificateError()
-
- case 14:
- var option1 witTypes.Option[uint8]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 16))) {
- case 0:
-
- option1 = witTypes.None[uint8]()
- case 1:
-
- option1 = witTypes.Some[uint8](uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 17)))))
- default:
- panic("unreachable")
- }
- var option3 witTypes.Option[string]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 1*4)))) {
- case 0:
-
- option3 = witTypes.None[string]()
- case 1:
- value2 := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 2*4)))))), *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 3*4))))
-
- option3 = witTypes.Some[string](value2)
- default:
- panic("unreachable")
- }
-
- variant = MakeErrorCodeTlsAlertReceived(TlsAlertReceivedPayload{AlertId: option1, AlertMessage: option3})
-
- case 15:
-
- variant = MakeErrorCodeHttpRequestDenied()
-
- case 16:
-
- variant = MakeErrorCodeHttpRequestLengthRequired()
-
- case 17:
- var option4 witTypes.Option[uint64]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 16))) {
- case 0:
-
- option4 = witTypes.None[uint64]()
- case 1:
-
- option4 = witTypes.Some[uint64](uint64(*(*int64)(unsafe.Add(unsafe.Pointer(returnArea), 24))))
- default:
- panic("unreachable")
- }
-
- variant = MakeErrorCodeHttpRequestBodySize(option4)
-
- case 18:
-
- variant = MakeErrorCodeHttpRequestMethodInvalid()
-
- case 19:
-
- variant = MakeErrorCodeHttpRequestUriInvalid()
-
- case 20:
-
- variant = MakeErrorCodeHttpRequestUriTooLong()
-
- case 21:
- var option5 witTypes.Option[uint32]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 16))) {
- case 0:
-
- option5 = witTypes.None[uint32]()
- case 1:
-
- option5 = witTypes.Some[uint32](uint32(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 20))))
- default:
- panic("unreachable")
- }
-
- variant = MakeErrorCodeHttpRequestHeaderSectionSize(option5)
-
- case 22:
- var option9 witTypes.Option[FieldSizePayload]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 16))) {
- case 0:
-
- option9 = witTypes.None[FieldSizePayload]()
- case 1:
- var option7 witTypes.Option[string]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 1*4)))) {
- case 0:
-
- option7 = witTypes.None[string]()
- case 1:
- value6 := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 2*4)))))), *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 3*4))))
-
- option7 = witTypes.Some[string](value6)
- default:
- panic("unreachable")
- }
- var option8 witTypes.Option[uint32]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 4*4)))) {
- case 0:
-
- option8 = witTypes.None[uint32]()
- case 1:
-
- option8 = witTypes.Some[uint32](uint32(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), (20 + 4*4)))))
- default:
- panic("unreachable")
- }
-
- option9 = witTypes.Some[FieldSizePayload](FieldSizePayload{FieldName: option7, FieldSize: option8})
- default:
- panic("unreachable")
- }
-
- variant = MakeErrorCodeHttpRequestHeaderSize(option9)
-
- case 23:
- var option10 witTypes.Option[uint32]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 16))) {
- case 0:
-
- option10 = witTypes.None[uint32]()
- case 1:
-
- option10 = witTypes.Some[uint32](uint32(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 20))))
- default:
- panic("unreachable")
- }
-
- variant = MakeErrorCodeHttpRequestTrailerSectionSize(option10)
-
- case 24:
- var option12 witTypes.Option[string]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 16))) {
- case 0:
-
- option12 = witTypes.None[string]()
- case 1:
- value11 := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 1*4)))))), *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 2*4))))
-
- option12 = witTypes.Some[string](value11)
- default:
- panic("unreachable")
- }
- var option13 witTypes.Option[uint32]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 3*4)))) {
- case 0:
-
- option13 = witTypes.None[uint32]()
- case 1:
-
- option13 = witTypes.Some[uint32](uint32(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), (20 + 3*4)))))
- default:
- panic("unreachable")
- }
-
- variant = MakeErrorCodeHttpRequestTrailerSize(FieldSizePayload{FieldName: option12, FieldSize: option13})
-
- case 25:
-
- variant = MakeErrorCodeHttpResponseIncomplete()
-
- case 26:
- var option14 witTypes.Option[uint32]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 16))) {
- case 0:
-
- option14 = witTypes.None[uint32]()
- case 1:
-
- option14 = witTypes.Some[uint32](uint32(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 20))))
- default:
- panic("unreachable")
- }
-
- variant = MakeErrorCodeHttpResponseHeaderSectionSize(option14)
-
- case 27:
- var option16 witTypes.Option[string]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 16))) {
- case 0:
-
- option16 = witTypes.None[string]()
- case 1:
- value15 := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 1*4)))))), *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 2*4))))
-
- option16 = witTypes.Some[string](value15)
- default:
- panic("unreachable")
- }
- var option17 witTypes.Option[uint32]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 3*4)))) {
- case 0:
-
- option17 = witTypes.None[uint32]()
- case 1:
-
- option17 = witTypes.Some[uint32](uint32(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), (20 + 3*4)))))
- default:
- panic("unreachable")
- }
-
- variant = MakeErrorCodeHttpResponseHeaderSize(FieldSizePayload{FieldName: option16, FieldSize: option17})
-
- case 28:
- var option18 witTypes.Option[uint64]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 16))) {
- case 0:
-
- option18 = witTypes.None[uint64]()
- case 1:
-
- option18 = witTypes.Some[uint64](uint64(*(*int64)(unsafe.Add(unsafe.Pointer(returnArea), 24))))
- default:
- panic("unreachable")
- }
-
- variant = MakeErrorCodeHttpResponseBodySize(option18)
-
- case 29:
- var option19 witTypes.Option[uint32]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 16))) {
- case 0:
-
- option19 = witTypes.None[uint32]()
- case 1:
-
- option19 = witTypes.Some[uint32](uint32(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 20))))
- default:
- panic("unreachable")
- }
-
- variant = MakeErrorCodeHttpResponseTrailerSectionSize(option19)
-
- case 30:
- var option21 witTypes.Option[string]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 16))) {
- case 0:
-
- option21 = witTypes.None[string]()
- case 1:
- value20 := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 1*4)))))), *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 2*4))))
-
- option21 = witTypes.Some[string](value20)
- default:
- panic("unreachable")
- }
- var option22 witTypes.Option[uint32]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 3*4)))) {
- case 0:
-
- option22 = witTypes.None[uint32]()
- case 1:
-
- option22 = witTypes.Some[uint32](uint32(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), (20 + 3*4)))))
- default:
- panic("unreachable")
- }
-
- variant = MakeErrorCodeHttpResponseTrailerSize(FieldSizePayload{FieldName: option21, FieldSize: option22})
-
- case 31:
- var option24 witTypes.Option[string]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 16))) {
- case 0:
-
- option24 = witTypes.None[string]()
- case 1:
- value23 := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 1*4)))))), *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 2*4))))
-
- option24 = witTypes.Some[string](value23)
- default:
- panic("unreachable")
- }
-
- variant = MakeErrorCodeHttpResponseTransferCoding(option24)
-
- case 32:
- var option26 witTypes.Option[string]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 16))) {
- case 0:
-
- option26 = witTypes.None[string]()
- case 1:
- value25 := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 1*4)))))), *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 2*4))))
-
- option26 = witTypes.Some[string](value25)
- default:
- panic("unreachable")
- }
-
- variant = MakeErrorCodeHttpResponseContentCoding(option26)
-
- case 33:
-
- variant = MakeErrorCodeHttpResponseTimeout()
-
- case 34:
-
- variant = MakeErrorCodeHttpUpgradeFailed()
-
- case 35:
-
- variant = MakeErrorCodeHttpProtocolError()
-
- case 36:
-
- variant = MakeErrorCodeLoopDetected()
-
- case 37:
-
- variant = MakeErrorCodeConfigurationError()
-
- case 38:
- var option28 witTypes.Option[string]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 16))) {
- case 0:
-
- option28 = witTypes.None[string]()
- case 1:
- value27 := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 1*4)))))), *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 2*4))))
-
- option28 = witTypes.Some[string](value27)
- default:
- panic("unreachable")
- }
-
- variant = MakeErrorCodeInternalError(option28)
-
- default:
- panic("unreachable")
- }
-
- option29 = witTypes.Some[ErrorCode](variant)
- default:
- panic("unreachable")
- }
- result := option29
- return result
-
-}
diff --git a/imports/wasi_http_0_3_0_client/empty.s b/imports/wasi_http_0_3_0_client/empty.s
deleted file mode 100644
index 308ab60..0000000
--- a/imports/wasi_http_0_3_0_client/empty.s
+++ /dev/null
@@ -1,3 +0,0 @@
-// This file exists for testing this package without WebAssembly,
-// allowing empty function bodies with a //go:wasmimport directive.
-// See https://pkg.go.dev/cmd/compile for more information.
\ No newline at end of file
diff --git a/imports/wasi_http_0_3_0_client/wit_bindings.go b/imports/wasi_http_0_3_0_client/wit_bindings.go
deleted file mode 100644
index e3e8094..0000000
--- a/imports/wasi_http_0_3_0_client/wit_bindings.go
+++ /dev/null
@@ -1,472 +0,0 @@
-// Generated by `wit-bindgen` 0.62.0. DO NOT EDIT!
-//
-// This code was generated from the following packages:
-// wasi:io@0.2.8
-// wasi:clocks@0.2.8
-// wasi:filesystem@0.2.8
-// wasi:sockets@0.2.8
-// wasi:random@0.2.8
-// wasi:cli@0.2.8
-// wasi:config@0.2.0-rc.1
-// wasi:logging@0.1.0-draft
-// wasi:http@0.2.8
-// wasi:clocks@0.3.0
-// wasi:filesystem@0.3.0
-// wasi:sockets@0.3.0
-// wasi:random@0.3.0
-// wasi:cli@0.3.0
-// wasi:http@0.3.0
-// bytecodealliance:pkg@0.1.0
-
-package wasi_http_0_3_0_client
-
-import (
- "go.bytecodealliance.org/pkg/imports/wasi_http_0_3_0_types"
- witAsync "go.bytecodealliance.org/pkg/wit/async"
- witRuntime "go.bytecodealliance.org/pkg/wit/runtime"
- witTypes "go.bytecodealliance.org/pkg/wit/types"
- "runtime"
- "unsafe"
-)
-
-type Request = wasi_http_0_3_0_types.Request
-type Response = wasi_http_0_3_0_types.Response
-type ErrorCode = wasi_http_0_3_0_types.ErrorCode
-
-//go:wasmimport wasi:http/client@0.3.0 [async-lower]send
-func wasm_import_send(arg0 int32, arg1 uintptr) int32
-
-func Send(request *wasi_http_0_3_0_types.Request) witTypes.Result[*wasi_http_0_3_0_types.Response, wasi_http_0_3_0_types.ErrorCode] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, (24 + 4*4), 8))
-
- witAsync.SubtaskWait(uint32(wasm_import_send((request).TakeHandle(), returnArea)))
- var result witTypes.Result[*wasi_http_0_3_0_types.Response, wasi_http_0_3_0_types.ErrorCode]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- result = witTypes.Ok[*wasi_http_0_3_0_types.Response, wasi_http_0_3_0_types.ErrorCode](wasi_http_0_3_0_types.ResponseFromOwnHandle(int32(uintptr(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 8))))))
- case 1:
- var variant wasi_http_0_3_0_types.ErrorCode
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 8))) {
- case 0:
-
- variant = wasi_http_0_3_0_types.MakeErrorCodeDnsTimeout()
-
- case 1:
- var option witTypes.Option[string]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 16))) {
- case 0:
-
- option = witTypes.None[string]()
- case 1:
- value := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 1*4)))))), *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 2*4))))
-
- option = witTypes.Some[string](value)
- default:
- panic("unreachable")
- }
- var option0 witTypes.Option[uint16]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 3*4)))) {
- case 0:
-
- option0 = witTypes.None[uint16]()
- case 1:
-
- option0 = witTypes.Some[uint16](uint16(uint16(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (18 + 3*4))))))
- default:
- panic("unreachable")
- }
-
- variant = wasi_http_0_3_0_types.MakeErrorCodeDnsError(wasi_http_0_3_0_types.DnsErrorPayload{Rcode: option, InfoCode: option0})
-
- case 2:
-
- variant = wasi_http_0_3_0_types.MakeErrorCodeDestinationNotFound()
-
- case 3:
-
- variant = wasi_http_0_3_0_types.MakeErrorCodeDestinationUnavailable()
-
- case 4:
-
- variant = wasi_http_0_3_0_types.MakeErrorCodeDestinationIpProhibited()
-
- case 5:
-
- variant = wasi_http_0_3_0_types.MakeErrorCodeDestinationIpUnroutable()
-
- case 6:
-
- variant = wasi_http_0_3_0_types.MakeErrorCodeConnectionRefused()
-
- case 7:
-
- variant = wasi_http_0_3_0_types.MakeErrorCodeConnectionTerminated()
-
- case 8:
-
- variant = wasi_http_0_3_0_types.MakeErrorCodeConnectionTimeout()
-
- case 9:
-
- variant = wasi_http_0_3_0_types.MakeErrorCodeConnectionReadTimeout()
-
- case 10:
-
- variant = wasi_http_0_3_0_types.MakeErrorCodeConnectionWriteTimeout()
-
- case 11:
-
- variant = wasi_http_0_3_0_types.MakeErrorCodeConnectionLimitReached()
-
- case 12:
-
- variant = wasi_http_0_3_0_types.MakeErrorCodeTlsProtocolError()
-
- case 13:
-
- variant = wasi_http_0_3_0_types.MakeErrorCodeTlsCertificateError()
-
- case 14:
- var option1 witTypes.Option[uint8]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 16))) {
- case 0:
-
- option1 = witTypes.None[uint8]()
- case 1:
-
- option1 = witTypes.Some[uint8](uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 17)))))
- default:
- panic("unreachable")
- }
- var option3 witTypes.Option[string]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 1*4)))) {
- case 0:
-
- option3 = witTypes.None[string]()
- case 1:
- value2 := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 2*4)))))), *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 3*4))))
-
- option3 = witTypes.Some[string](value2)
- default:
- panic("unreachable")
- }
-
- variant = wasi_http_0_3_0_types.MakeErrorCodeTlsAlertReceived(wasi_http_0_3_0_types.TlsAlertReceivedPayload{AlertId: option1, AlertMessage: option3})
-
- case 15:
-
- variant = wasi_http_0_3_0_types.MakeErrorCodeHttpRequestDenied()
-
- case 16:
-
- variant = wasi_http_0_3_0_types.MakeErrorCodeHttpRequestLengthRequired()
-
- case 17:
- var option4 witTypes.Option[uint64]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 16))) {
- case 0:
-
- option4 = witTypes.None[uint64]()
- case 1:
-
- option4 = witTypes.Some[uint64](uint64(*(*int64)(unsafe.Add(unsafe.Pointer(returnArea), 24))))
- default:
- panic("unreachable")
- }
-
- variant = wasi_http_0_3_0_types.MakeErrorCodeHttpRequestBodySize(option4)
-
- case 18:
-
- variant = wasi_http_0_3_0_types.MakeErrorCodeHttpRequestMethodInvalid()
-
- case 19:
-
- variant = wasi_http_0_3_0_types.MakeErrorCodeHttpRequestUriInvalid()
-
- case 20:
-
- variant = wasi_http_0_3_0_types.MakeErrorCodeHttpRequestUriTooLong()
-
- case 21:
- var option5 witTypes.Option[uint32]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 16))) {
- case 0:
-
- option5 = witTypes.None[uint32]()
- case 1:
-
- option5 = witTypes.Some[uint32](uint32(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 20))))
- default:
- panic("unreachable")
- }
-
- variant = wasi_http_0_3_0_types.MakeErrorCodeHttpRequestHeaderSectionSize(option5)
-
- case 22:
- var option9 witTypes.Option[wasi_http_0_3_0_types.FieldSizePayload]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 16))) {
- case 0:
-
- option9 = witTypes.None[wasi_http_0_3_0_types.FieldSizePayload]()
- case 1:
- var option7 witTypes.Option[string]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 1*4)))) {
- case 0:
-
- option7 = witTypes.None[string]()
- case 1:
- value6 := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 2*4)))))), *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 3*4))))
-
- option7 = witTypes.Some[string](value6)
- default:
- panic("unreachable")
- }
- var option8 witTypes.Option[uint32]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 4*4)))) {
- case 0:
-
- option8 = witTypes.None[uint32]()
- case 1:
-
- option8 = witTypes.Some[uint32](uint32(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), (20 + 4*4)))))
- default:
- panic("unreachable")
- }
-
- option9 = witTypes.Some[wasi_http_0_3_0_types.FieldSizePayload](wasi_http_0_3_0_types.FieldSizePayload{FieldName: option7, FieldSize: option8})
- default:
- panic("unreachable")
- }
-
- variant = wasi_http_0_3_0_types.MakeErrorCodeHttpRequestHeaderSize(option9)
-
- case 23:
- var option10 witTypes.Option[uint32]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 16))) {
- case 0:
-
- option10 = witTypes.None[uint32]()
- case 1:
-
- option10 = witTypes.Some[uint32](uint32(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 20))))
- default:
- panic("unreachable")
- }
-
- variant = wasi_http_0_3_0_types.MakeErrorCodeHttpRequestTrailerSectionSize(option10)
-
- case 24:
- var option12 witTypes.Option[string]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 16))) {
- case 0:
-
- option12 = witTypes.None[string]()
- case 1:
- value11 := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 1*4)))))), *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 2*4))))
-
- option12 = witTypes.Some[string](value11)
- default:
- panic("unreachable")
- }
- var option13 witTypes.Option[uint32]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 3*4)))) {
- case 0:
-
- option13 = witTypes.None[uint32]()
- case 1:
-
- option13 = witTypes.Some[uint32](uint32(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), (20 + 3*4)))))
- default:
- panic("unreachable")
- }
-
- variant = wasi_http_0_3_0_types.MakeErrorCodeHttpRequestTrailerSize(wasi_http_0_3_0_types.FieldSizePayload{FieldName: option12, FieldSize: option13})
-
- case 25:
-
- variant = wasi_http_0_3_0_types.MakeErrorCodeHttpResponseIncomplete()
-
- case 26:
- var option14 witTypes.Option[uint32]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 16))) {
- case 0:
-
- option14 = witTypes.None[uint32]()
- case 1:
-
- option14 = witTypes.Some[uint32](uint32(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 20))))
- default:
- panic("unreachable")
- }
-
- variant = wasi_http_0_3_0_types.MakeErrorCodeHttpResponseHeaderSectionSize(option14)
-
- case 27:
- var option16 witTypes.Option[string]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 16))) {
- case 0:
-
- option16 = witTypes.None[string]()
- case 1:
- value15 := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 1*4)))))), *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 2*4))))
-
- option16 = witTypes.Some[string](value15)
- default:
- panic("unreachable")
- }
- var option17 witTypes.Option[uint32]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 3*4)))) {
- case 0:
-
- option17 = witTypes.None[uint32]()
- case 1:
-
- option17 = witTypes.Some[uint32](uint32(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), (20 + 3*4)))))
- default:
- panic("unreachable")
- }
-
- variant = wasi_http_0_3_0_types.MakeErrorCodeHttpResponseHeaderSize(wasi_http_0_3_0_types.FieldSizePayload{FieldName: option16, FieldSize: option17})
-
- case 28:
- var option18 witTypes.Option[uint64]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 16))) {
- case 0:
-
- option18 = witTypes.None[uint64]()
- case 1:
-
- option18 = witTypes.Some[uint64](uint64(*(*int64)(unsafe.Add(unsafe.Pointer(returnArea), 24))))
- default:
- panic("unreachable")
- }
-
- variant = wasi_http_0_3_0_types.MakeErrorCodeHttpResponseBodySize(option18)
-
- case 29:
- var option19 witTypes.Option[uint32]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 16))) {
- case 0:
-
- option19 = witTypes.None[uint32]()
- case 1:
-
- option19 = witTypes.Some[uint32](uint32(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 20))))
- default:
- panic("unreachable")
- }
-
- variant = wasi_http_0_3_0_types.MakeErrorCodeHttpResponseTrailerSectionSize(option19)
-
- case 30:
- var option21 witTypes.Option[string]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 16))) {
- case 0:
-
- option21 = witTypes.None[string]()
- case 1:
- value20 := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 1*4)))))), *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 2*4))))
-
- option21 = witTypes.Some[string](value20)
- default:
- panic("unreachable")
- }
- var option22 witTypes.Option[uint32]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 3*4)))) {
- case 0:
-
- option22 = witTypes.None[uint32]()
- case 1:
-
- option22 = witTypes.Some[uint32](uint32(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), (20 + 3*4)))))
- default:
- panic("unreachable")
- }
-
- variant = wasi_http_0_3_0_types.MakeErrorCodeHttpResponseTrailerSize(wasi_http_0_3_0_types.FieldSizePayload{FieldName: option21, FieldSize: option22})
-
- case 31:
- var option24 witTypes.Option[string]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 16))) {
- case 0:
-
- option24 = witTypes.None[string]()
- case 1:
- value23 := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 1*4)))))), *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 2*4))))
-
- option24 = witTypes.Some[string](value23)
- default:
- panic("unreachable")
- }
-
- variant = wasi_http_0_3_0_types.MakeErrorCodeHttpResponseTransferCoding(option24)
-
- case 32:
- var option26 witTypes.Option[string]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 16))) {
- case 0:
-
- option26 = witTypes.None[string]()
- case 1:
- value25 := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 1*4)))))), *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 2*4))))
-
- option26 = witTypes.Some[string](value25)
- default:
- panic("unreachable")
- }
-
- variant = wasi_http_0_3_0_types.MakeErrorCodeHttpResponseContentCoding(option26)
-
- case 33:
-
- variant = wasi_http_0_3_0_types.MakeErrorCodeHttpResponseTimeout()
-
- case 34:
-
- variant = wasi_http_0_3_0_types.MakeErrorCodeHttpUpgradeFailed()
-
- case 35:
-
- variant = wasi_http_0_3_0_types.MakeErrorCodeHttpProtocolError()
-
- case 36:
-
- variant = wasi_http_0_3_0_types.MakeErrorCodeLoopDetected()
-
- case 37:
-
- variant = wasi_http_0_3_0_types.MakeErrorCodeConfigurationError()
-
- case 38:
- var option28 witTypes.Option[string]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 16))) {
- case 0:
-
- option28 = witTypes.None[string]()
- case 1:
- value27 := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 1*4)))))), *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (16 + 2*4))))
-
- option28 = witTypes.Some[string](value27)
- default:
- panic("unreachable")
- }
-
- variant = wasi_http_0_3_0_types.MakeErrorCodeInternalError(option28)
-
- default:
- panic("unreachable")
- }
-
- result = witTypes.Err[*wasi_http_0_3_0_types.Response, wasi_http_0_3_0_types.ErrorCode](variant)
- default:
- panic("unreachable")
- }
-
- return result
-
-}
diff --git a/imports/wasi_http_0_3_0_handler/empty.s b/imports/wasi_http_0_3_0_handler/empty.s
deleted file mode 100644
index 308ab60..0000000
--- a/imports/wasi_http_0_3_0_handler/empty.s
+++ /dev/null
@@ -1,3 +0,0 @@
-// This file exists for testing this package without WebAssembly,
-// allowing empty function bodies with a //go:wasmimport directive.
-// See https://pkg.go.dev/cmd/compile for more information.
\ No newline at end of file
diff --git a/imports/wasi_http_0_3_0_handler/wit_bindings.go b/imports/wasi_http_0_3_0_handler/wit_bindings.go
deleted file mode 100644
index b196536..0000000
--- a/imports/wasi_http_0_3_0_handler/wit_bindings.go
+++ /dev/null
@@ -1,29 +0,0 @@
-// Generated by `wit-bindgen` 0.62.0. DO NOT EDIT!
-//
-// This code was generated from the following packages:
-// wasi:io@0.2.8
-// wasi:clocks@0.2.8
-// wasi:filesystem@0.2.8
-// wasi:sockets@0.2.8
-// wasi:random@0.2.8
-// wasi:cli@0.2.8
-// wasi:config@0.2.0-rc.1
-// wasi:logging@0.1.0-draft
-// wasi:http@0.2.8
-// wasi:clocks@0.3.0
-// wasi:filesystem@0.3.0
-// wasi:sockets@0.3.0
-// wasi:random@0.3.0
-// wasi:cli@0.3.0
-// wasi:http@0.3.0
-// bytecodealliance:pkg@0.1.0
-
-package wasi_http_0_3_0_handler
-
-import (
- "go.bytecodealliance.org/pkg/imports/wasi_http_0_3_0_types"
-)
-
-type Request = wasi_http_0_3_0_types.Request
-type Response = wasi_http_0_3_0_types.Response
-type ErrorCode = wasi_http_0_3_0_types.ErrorCode
diff --git a/imports/wasi_http_0_3_0_types/empty.s b/imports/wasi_http_0_3_0_types/empty.s
deleted file mode 100644
index 308ab60..0000000
--- a/imports/wasi_http_0_3_0_types/empty.s
+++ /dev/null
@@ -1,3 +0,0 @@
-// This file exists for testing this package without WebAssembly,
-// allowing empty function bodies with a //go:wasmimport directive.
-// See https://pkg.go.dev/cmd/compile for more information.
\ No newline at end of file
diff --git a/imports/wasi_http_0_3_0_types/wit_bindings.go b/imports/wasi_http_0_3_0_types/wit_bindings.go
deleted file mode 100644
index effd28f..0000000
--- a/imports/wasi_http_0_3_0_types/wit_bindings.go
+++ /dev/null
@@ -1,4064 +0,0 @@
-// Generated by `wit-bindgen` 0.62.0. DO NOT EDIT!
-//
-// This code was generated from the following packages:
-// wasi:io@0.2.8
-// wasi:clocks@0.2.8
-// wasi:filesystem@0.2.8
-// wasi:sockets@0.2.8
-// wasi:random@0.2.8
-// wasi:cli@0.2.8
-// wasi:config@0.2.0-rc.1
-// wasi:logging@0.1.0-draft
-// wasi:http@0.2.8
-// wasi:clocks@0.3.0
-// wasi:filesystem@0.3.0
-// wasi:sockets@0.3.0
-// wasi:random@0.3.0
-// wasi:cli@0.3.0
-// wasi:http@0.3.0
-// bytecodealliance:pkg@0.1.0
-
-package wasi_http_0_3_0_types
-
-import (
- witRuntime "go.bytecodealliance.org/pkg/wit/runtime"
- witTypes "go.bytecodealliance.org/pkg/wit/types"
- "runtime"
- "unsafe"
-)
-
-//go:wasmimport wasi:http/types@0.3.0 [stream-new-0][static]request.new
-func wasm_stream_new_u8() uint64
-
-//go:wasmimport wasi:http/types@0.3.0 [async-lower][stream-read-0][static]request.new
-func wasm_stream_read_u8(handle int32, item unsafe.Pointer, count uint32) uint32
-
-//go:wasmimport wasi:http/types@0.3.0 [async-lower][stream-write-0][static]request.new
-func wasm_stream_write_u8(handle int32, item unsafe.Pointer, count uint32) uint32
-
-//go:wasmimport wasi:http/types@0.3.0 [stream-drop-readable-0][static]request.new
-func wasm_stream_drop_readable_u8(handle int32)
-
-//go:wasmimport wasi:http/types@0.3.0 [stream-drop-writable-0][static]request.new
-func wasm_stream_drop_writable_u8(handle int32)
-
-var wasm_stream_vtable_u8 = witTypes.StreamVtable[uint8]{
- Size: 1,
- Align: 1,
- Read: wasm_stream_read_u8,
- Write: wasm_stream_write_u8,
- CancelRead: nil,
- CancelWrite: nil,
- DropReadable: wasm_stream_drop_readable_u8,
- DropWritable: wasm_stream_drop_writable_u8,
- Lift: nil,
- Lower: nil,
-}
-
-func MakeStreamU8() (*witTypes.StreamWriter[uint8], *witTypes.StreamReader[uint8]) {
- pair := wasm_stream_new_u8()
- return witTypes.MakeStreamWriter[uint8](&wasm_stream_vtable_u8, int32(pair>>32)),
- witTypes.MakeStreamReader[uint8](&wasm_stream_vtable_u8, int32(pair&0xFFFFFFFF))
-}
-
-func LiftStreamU8(handle int32) *witTypes.StreamReader[uint8] {
- return witTypes.MakeStreamReader[uint8](&wasm_stream_vtable_u8, handle)
-}
-
-//go:wasmimport wasi:http/types@0.3.0 [future-new-1][static]request.new
-func wasm_future_new_result_option_fields_error_code() uint64
-
-//go:wasmimport wasi:http/types@0.3.0 [async-lower][future-read-1][static]request.new
-func wasm_future_read_result_option_fields_error_code(handle int32, item unsafe.Pointer) uint32
-
-//go:wasmimport wasi:http/types@0.3.0 [async-lower][future-write-1][static]request.new
-func wasm_future_write_result_option_fields_error_code(handle int32, item unsafe.Pointer) uint32
-
-//go:wasmimport wasi:http/types@0.3.0 [future-drop-readable-1][static]request.new
-func wasm_future_drop_readable_result_option_fields_error_code(handle int32)
-
-//go:wasmimport wasi:http/types@0.3.0 [future-drop-writable-1][static]request.new
-func wasm_future_drop_writable_result_option_fields_error_code(handle int32)
-
-func wasm_future_lift_result_option_fields_error_code(src unsafe.Pointer) witTypes.Result[witTypes.Option[*Fields], ErrorCode] {
- var result witTypes.Result[witTypes.Option[*Fields], ErrorCode]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(src), 0))) {
- case 0:
- var option witTypes.Option[*Fields]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(src), 8))) {
- case 0:
-
- option = witTypes.None[*Fields]()
- case 1:
-
- option = witTypes.Some[*Fields](FieldsFromOwnHandle(int32(uintptr(*(*int32)(unsafe.Add(unsafe.Pointer(src), 12))))))
- default:
- panic("unreachable")
- }
-
- result = witTypes.Ok[witTypes.Option[*Fields], ErrorCode](option)
- case 1:
- var variant ErrorCode
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(src), 8))) {
- case 0:
-
- variant = MakeErrorCodeDnsTimeout()
-
- case 1:
- var option0 witTypes.Option[string]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(src), 16))) {
- case 0:
-
- option0 = witTypes.None[string]()
- case 1:
- value := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(src), (16 + 1*4)))))), *(*uint32)(unsafe.Add(unsafe.Pointer(src), (16 + 2*4))))
-
- option0 = witTypes.Some[string](value)
- default:
- panic("unreachable")
- }
- var option1 witTypes.Option[uint16]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(src), (16 + 3*4)))) {
- case 0:
-
- option1 = witTypes.None[uint16]()
- case 1:
-
- option1 = witTypes.Some[uint16](uint16(uint16(*(*uint32)(unsafe.Add(unsafe.Pointer(src), (18 + 3*4))))))
- default:
- panic("unreachable")
- }
-
- variant = MakeErrorCodeDnsError(DnsErrorPayload{Rcode: option0, InfoCode: option1})
-
- case 2:
-
- variant = MakeErrorCodeDestinationNotFound()
-
- case 3:
-
- variant = MakeErrorCodeDestinationUnavailable()
-
- case 4:
-
- variant = MakeErrorCodeDestinationIpProhibited()
-
- case 5:
-
- variant = MakeErrorCodeDestinationIpUnroutable()
-
- case 6:
-
- variant = MakeErrorCodeConnectionRefused()
-
- case 7:
-
- variant = MakeErrorCodeConnectionTerminated()
-
- case 8:
-
- variant = MakeErrorCodeConnectionTimeout()
-
- case 9:
-
- variant = MakeErrorCodeConnectionReadTimeout()
-
- case 10:
-
- variant = MakeErrorCodeConnectionWriteTimeout()
-
- case 11:
-
- variant = MakeErrorCodeConnectionLimitReached()
-
- case 12:
-
- variant = MakeErrorCodeTlsProtocolError()
-
- case 13:
-
- variant = MakeErrorCodeTlsCertificateError()
-
- case 14:
- var option2 witTypes.Option[uint8]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(src), 16))) {
- case 0:
-
- option2 = witTypes.None[uint8]()
- case 1:
-
- option2 = witTypes.Some[uint8](uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(src), 17)))))
- default:
- panic("unreachable")
- }
- var option4 witTypes.Option[string]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(src), (16 + 1*4)))) {
- case 0:
-
- option4 = witTypes.None[string]()
- case 1:
- value3 := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(src), (16 + 2*4)))))), *(*uint32)(unsafe.Add(unsafe.Pointer(src), (16 + 3*4))))
-
- option4 = witTypes.Some[string](value3)
- default:
- panic("unreachable")
- }
-
- variant = MakeErrorCodeTlsAlertReceived(TlsAlertReceivedPayload{AlertId: option2, AlertMessage: option4})
-
- case 15:
-
- variant = MakeErrorCodeHttpRequestDenied()
-
- case 16:
-
- variant = MakeErrorCodeHttpRequestLengthRequired()
-
- case 17:
- var option5 witTypes.Option[uint64]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(src), 16))) {
- case 0:
-
- option5 = witTypes.None[uint64]()
- case 1:
-
- option5 = witTypes.Some[uint64](uint64(*(*int64)(unsafe.Add(unsafe.Pointer(src), 24))))
- default:
- panic("unreachable")
- }
-
- variant = MakeErrorCodeHttpRequestBodySize(option5)
-
- case 18:
-
- variant = MakeErrorCodeHttpRequestMethodInvalid()
-
- case 19:
-
- variant = MakeErrorCodeHttpRequestUriInvalid()
-
- case 20:
-
- variant = MakeErrorCodeHttpRequestUriTooLong()
-
- case 21:
- var option6 witTypes.Option[uint32]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(src), 16))) {
- case 0:
-
- option6 = witTypes.None[uint32]()
- case 1:
-
- option6 = witTypes.Some[uint32](uint32(*(*int32)(unsafe.Add(unsafe.Pointer(src), 20))))
- default:
- panic("unreachable")
- }
-
- variant = MakeErrorCodeHttpRequestHeaderSectionSize(option6)
-
- case 22:
- var option10 witTypes.Option[FieldSizePayload]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(src), 16))) {
- case 0:
-
- option10 = witTypes.None[FieldSizePayload]()
- case 1:
- var option8 witTypes.Option[string]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(src), (16 + 1*4)))) {
- case 0:
-
- option8 = witTypes.None[string]()
- case 1:
- value7 := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(src), (16 + 2*4)))))), *(*uint32)(unsafe.Add(unsafe.Pointer(src), (16 + 3*4))))
-
- option8 = witTypes.Some[string](value7)
- default:
- panic("unreachable")
- }
- var option9 witTypes.Option[uint32]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(src), (16 + 4*4)))) {
- case 0:
-
- option9 = witTypes.None[uint32]()
- case 1:
-
- option9 = witTypes.Some[uint32](uint32(*(*int32)(unsafe.Add(unsafe.Pointer(src), (20 + 4*4)))))
- default:
- panic("unreachable")
- }
-
- option10 = witTypes.Some[FieldSizePayload](FieldSizePayload{FieldName: option8, FieldSize: option9})
- default:
- panic("unreachable")
- }
-
- variant = MakeErrorCodeHttpRequestHeaderSize(option10)
-
- case 23:
- var option11 witTypes.Option[uint32]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(src), 16))) {
- case 0:
-
- option11 = witTypes.None[uint32]()
- case 1:
-
- option11 = witTypes.Some[uint32](uint32(*(*int32)(unsafe.Add(unsafe.Pointer(src), 20))))
- default:
- panic("unreachable")
- }
-
- variant = MakeErrorCodeHttpRequestTrailerSectionSize(option11)
-
- case 24:
- var option13 witTypes.Option[string]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(src), 16))) {
- case 0:
-
- option13 = witTypes.None[string]()
- case 1:
- value12 := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(src), (16 + 1*4)))))), *(*uint32)(unsafe.Add(unsafe.Pointer(src), (16 + 2*4))))
-
- option13 = witTypes.Some[string](value12)
- default:
- panic("unreachable")
- }
- var option14 witTypes.Option[uint32]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(src), (16 + 3*4)))) {
- case 0:
-
- option14 = witTypes.None[uint32]()
- case 1:
-
- option14 = witTypes.Some[uint32](uint32(*(*int32)(unsafe.Add(unsafe.Pointer(src), (20 + 3*4)))))
- default:
- panic("unreachable")
- }
-
- variant = MakeErrorCodeHttpRequestTrailerSize(FieldSizePayload{FieldName: option13, FieldSize: option14})
-
- case 25:
-
- variant = MakeErrorCodeHttpResponseIncomplete()
-
- case 26:
- var option15 witTypes.Option[uint32]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(src), 16))) {
- case 0:
-
- option15 = witTypes.None[uint32]()
- case 1:
-
- option15 = witTypes.Some[uint32](uint32(*(*int32)(unsafe.Add(unsafe.Pointer(src), 20))))
- default:
- panic("unreachable")
- }
-
- variant = MakeErrorCodeHttpResponseHeaderSectionSize(option15)
-
- case 27:
- var option17 witTypes.Option[string]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(src), 16))) {
- case 0:
-
- option17 = witTypes.None[string]()
- case 1:
- value16 := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(src), (16 + 1*4)))))), *(*uint32)(unsafe.Add(unsafe.Pointer(src), (16 + 2*4))))
-
- option17 = witTypes.Some[string](value16)
- default:
- panic("unreachable")
- }
- var option18 witTypes.Option[uint32]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(src), (16 + 3*4)))) {
- case 0:
-
- option18 = witTypes.None[uint32]()
- case 1:
-
- option18 = witTypes.Some[uint32](uint32(*(*int32)(unsafe.Add(unsafe.Pointer(src), (20 + 3*4)))))
- default:
- panic("unreachable")
- }
-
- variant = MakeErrorCodeHttpResponseHeaderSize(FieldSizePayload{FieldName: option17, FieldSize: option18})
-
- case 28:
- var option19 witTypes.Option[uint64]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(src), 16))) {
- case 0:
-
- option19 = witTypes.None[uint64]()
- case 1:
-
- option19 = witTypes.Some[uint64](uint64(*(*int64)(unsafe.Add(unsafe.Pointer(src), 24))))
- default:
- panic("unreachable")
- }
-
- variant = MakeErrorCodeHttpResponseBodySize(option19)
-
- case 29:
- var option20 witTypes.Option[uint32]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(src), 16))) {
- case 0:
-
- option20 = witTypes.None[uint32]()
- case 1:
-
- option20 = witTypes.Some[uint32](uint32(*(*int32)(unsafe.Add(unsafe.Pointer(src), 20))))
- default:
- panic("unreachable")
- }
-
- variant = MakeErrorCodeHttpResponseTrailerSectionSize(option20)
-
- case 30:
- var option22 witTypes.Option[string]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(src), 16))) {
- case 0:
-
- option22 = witTypes.None[string]()
- case 1:
- value21 := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(src), (16 + 1*4)))))), *(*uint32)(unsafe.Add(unsafe.Pointer(src), (16 + 2*4))))
-
- option22 = witTypes.Some[string](value21)
- default:
- panic("unreachable")
- }
- var option23 witTypes.Option[uint32]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(src), (16 + 3*4)))) {
- case 0:
-
- option23 = witTypes.None[uint32]()
- case 1:
-
- option23 = witTypes.Some[uint32](uint32(*(*int32)(unsafe.Add(unsafe.Pointer(src), (20 + 3*4)))))
- default:
- panic("unreachable")
- }
-
- variant = MakeErrorCodeHttpResponseTrailerSize(FieldSizePayload{FieldName: option22, FieldSize: option23})
-
- case 31:
- var option25 witTypes.Option[string]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(src), 16))) {
- case 0:
-
- option25 = witTypes.None[string]()
- case 1:
- value24 := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(src), (16 + 1*4)))))), *(*uint32)(unsafe.Add(unsafe.Pointer(src), (16 + 2*4))))
-
- option25 = witTypes.Some[string](value24)
- default:
- panic("unreachable")
- }
-
- variant = MakeErrorCodeHttpResponseTransferCoding(option25)
-
- case 32:
- var option27 witTypes.Option[string]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(src), 16))) {
- case 0:
-
- option27 = witTypes.None[string]()
- case 1:
- value26 := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(src), (16 + 1*4)))))), *(*uint32)(unsafe.Add(unsafe.Pointer(src), (16 + 2*4))))
-
- option27 = witTypes.Some[string](value26)
- default:
- panic("unreachable")
- }
-
- variant = MakeErrorCodeHttpResponseContentCoding(option27)
-
- case 33:
-
- variant = MakeErrorCodeHttpResponseTimeout()
-
- case 34:
-
- variant = MakeErrorCodeHttpUpgradeFailed()
-
- case 35:
-
- variant = MakeErrorCodeHttpProtocolError()
-
- case 36:
-
- variant = MakeErrorCodeLoopDetected()
-
- case 37:
-
- variant = MakeErrorCodeConfigurationError()
-
- case 38:
- var option29 witTypes.Option[string]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(src), 16))) {
- case 0:
-
- option29 = witTypes.None[string]()
- case 1:
- value28 := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(src), (16 + 1*4)))))), *(*uint32)(unsafe.Add(unsafe.Pointer(src), (16 + 2*4))))
-
- option29 = witTypes.Some[string](value28)
- default:
- panic("unreachable")
- }
-
- variant = MakeErrorCodeInternalError(option29)
-
- default:
- panic("unreachable")
- }
-
- result = witTypes.Err[witTypes.Option[*Fields], ErrorCode](variant)
- default:
- panic("unreachable")
- }
-
- return result
-}
-
-func wasm_future_lower_result_option_fields_error_code(
- pinner *runtime.Pinner,
- value witTypes.Result[witTypes.Option[*Fields], ErrorCode],
- dst unsafe.Pointer,
-) func() {
- lifters := make([]func(), 0, 1)
-
- switch value.Tag() {
- case witTypes.ResultOk:
- payload := value.Ok()
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 0)) = int8(int32(0))
-
- switch payload.Tag() {
- case witTypes.OptionNone:
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 8)) = int8(int32(0))
-
- case witTypes.OptionSome:
- payload := payload.Some()
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 8)) = int8(int32(1))
- resource := payload
- handle := resource.TakeHandle()
- lifters = append(lifters, func() {
- resource.SetHandle(handle)
- })
- *(*int32)(unsafe.Add(unsafe.Pointer(dst), 12)) = handle
-
- default:
- panic("unreachable")
- }
-
- case witTypes.ResultErr:
- payload := value.Err()
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 0)) = int8(int32(1))
-
- switch payload.Tag() {
- case ErrorCode_DnsTimeout:
-
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 8)) = int8(int32(0))
-
- case ErrorCode_DnsError:
- payload := payload.DnsError()
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 8)) = int8(int32(1))
-
- switch (payload).Rcode.Tag() {
- case witTypes.OptionNone:
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 16)) = int8(int32(0))
-
- case witTypes.OptionSome:
- payload := (payload).Rcode.Some()
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 16)) = int8(int32(1))
- utf8 := unsafe.Pointer(unsafe.StringData(payload))
- pinner.Pin(utf8)
- *(*uint32)(unsafe.Add(unsafe.Pointer(dst), (16 + 2*4))) = uint32(uint32(len(payload)))
- *(*uint32)(unsafe.Add(unsafe.Pointer(dst), (16 + 1*4))) = uint32(uintptr(uintptr(utf8)))
-
- default:
- panic("unreachable")
- }
-
- switch (payload).InfoCode.Tag() {
- case witTypes.OptionNone:
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), (16 + 3*4))) = int8(int32(0))
-
- case witTypes.OptionSome:
- payload := (payload).InfoCode.Some()
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), (16 + 3*4))) = int8(int32(1))
- *(*int16)(unsafe.Add(unsafe.Pointer(dst), (18 + 3*4))) = int16(int32(payload))
-
- default:
- panic("unreachable")
- }
-
- case ErrorCode_DestinationNotFound:
-
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 8)) = int8(int32(2))
-
- case ErrorCode_DestinationUnavailable:
-
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 8)) = int8(int32(3))
-
- case ErrorCode_DestinationIpProhibited:
-
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 8)) = int8(int32(4))
-
- case ErrorCode_DestinationIpUnroutable:
-
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 8)) = int8(int32(5))
-
- case ErrorCode_ConnectionRefused:
-
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 8)) = int8(int32(6))
-
- case ErrorCode_ConnectionTerminated:
-
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 8)) = int8(int32(7))
-
- case ErrorCode_ConnectionTimeout:
-
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 8)) = int8(int32(8))
-
- case ErrorCode_ConnectionReadTimeout:
-
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 8)) = int8(int32(9))
-
- case ErrorCode_ConnectionWriteTimeout:
-
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 8)) = int8(int32(10))
-
- case ErrorCode_ConnectionLimitReached:
-
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 8)) = int8(int32(11))
-
- case ErrorCode_TlsProtocolError:
-
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 8)) = int8(int32(12))
-
- case ErrorCode_TlsCertificateError:
-
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 8)) = int8(int32(13))
-
- case ErrorCode_TlsAlertReceived:
- payload := payload.TlsAlertReceived()
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 8)) = int8(int32(14))
-
- switch (payload).AlertId.Tag() {
- case witTypes.OptionNone:
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 16)) = int8(int32(0))
-
- case witTypes.OptionSome:
- payload := (payload).AlertId.Some()
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 16)) = int8(int32(1))
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 17)) = int8(int32(payload))
-
- default:
- panic("unreachable")
- }
-
- switch (payload).AlertMessage.Tag() {
- case witTypes.OptionNone:
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), (16 + 1*4))) = int8(int32(0))
-
- case witTypes.OptionSome:
- payload := (payload).AlertMessage.Some()
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), (16 + 1*4))) = int8(int32(1))
- utf830 := unsafe.Pointer(unsafe.StringData(payload))
- pinner.Pin(utf830)
- *(*uint32)(unsafe.Add(unsafe.Pointer(dst), (16 + 3*4))) = uint32(uint32(len(payload)))
- *(*uint32)(unsafe.Add(unsafe.Pointer(dst), (16 + 2*4))) = uint32(uintptr(uintptr(utf830)))
-
- default:
- panic("unreachable")
- }
-
- case ErrorCode_HttpRequestDenied:
-
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 8)) = int8(int32(15))
-
- case ErrorCode_HttpRequestLengthRequired:
-
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 8)) = int8(int32(16))
-
- case ErrorCode_HttpRequestBodySize:
- payload := payload.HttpRequestBodySize()
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 8)) = int8(int32(17))
-
- switch payload.Tag() {
- case witTypes.OptionNone:
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 16)) = int8(int32(0))
-
- case witTypes.OptionSome:
- payload := payload.Some()
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 16)) = int8(int32(1))
- *(*int64)(unsafe.Add(unsafe.Pointer(dst), 24)) = int64(payload)
-
- default:
- panic("unreachable")
- }
-
- case ErrorCode_HttpRequestMethodInvalid:
-
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 8)) = int8(int32(18))
-
- case ErrorCode_HttpRequestUriInvalid:
-
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 8)) = int8(int32(19))
-
- case ErrorCode_HttpRequestUriTooLong:
-
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 8)) = int8(int32(20))
-
- case ErrorCode_HttpRequestHeaderSectionSize:
- payload := payload.HttpRequestHeaderSectionSize()
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 8)) = int8(int32(21))
-
- switch payload.Tag() {
- case witTypes.OptionNone:
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 16)) = int8(int32(0))
-
- case witTypes.OptionSome:
- payload := payload.Some()
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 16)) = int8(int32(1))
- *(*int32)(unsafe.Add(unsafe.Pointer(dst), 20)) = int32(payload)
-
- default:
- panic("unreachable")
- }
-
- case ErrorCode_HttpRequestHeaderSize:
- payload := payload.HttpRequestHeaderSize()
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 8)) = int8(int32(22))
-
- switch payload.Tag() {
- case witTypes.OptionNone:
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 16)) = int8(int32(0))
-
- case witTypes.OptionSome:
- payload := payload.Some()
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 16)) = int8(int32(1))
-
- switch (payload).FieldName.Tag() {
- case witTypes.OptionNone:
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), (16 + 1*4))) = int8(int32(0))
-
- case witTypes.OptionSome:
- payload := (payload).FieldName.Some()
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), (16 + 1*4))) = int8(int32(1))
- utf831 := unsafe.Pointer(unsafe.StringData(payload))
- pinner.Pin(utf831)
- *(*uint32)(unsafe.Add(unsafe.Pointer(dst), (16 + 3*4))) = uint32(uint32(len(payload)))
- *(*uint32)(unsafe.Add(unsafe.Pointer(dst), (16 + 2*4))) = uint32(uintptr(uintptr(utf831)))
-
- default:
- panic("unreachable")
- }
-
- switch (payload).FieldSize.Tag() {
- case witTypes.OptionNone:
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), (16 + 4*4))) = int8(int32(0))
-
- case witTypes.OptionSome:
- payload := (payload).FieldSize.Some()
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), (16 + 4*4))) = int8(int32(1))
- *(*int32)(unsafe.Add(unsafe.Pointer(dst), (20 + 4*4))) = int32(payload)
-
- default:
- panic("unreachable")
- }
-
- default:
- panic("unreachable")
- }
-
- case ErrorCode_HttpRequestTrailerSectionSize:
- payload := payload.HttpRequestTrailerSectionSize()
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 8)) = int8(int32(23))
-
- switch payload.Tag() {
- case witTypes.OptionNone:
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 16)) = int8(int32(0))
-
- case witTypes.OptionSome:
- payload := payload.Some()
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 16)) = int8(int32(1))
- *(*int32)(unsafe.Add(unsafe.Pointer(dst), 20)) = int32(payload)
-
- default:
- panic("unreachable")
- }
-
- case ErrorCode_HttpRequestTrailerSize:
- payload := payload.HttpRequestTrailerSize()
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 8)) = int8(int32(24))
-
- switch (payload).FieldName.Tag() {
- case witTypes.OptionNone:
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 16)) = int8(int32(0))
-
- case witTypes.OptionSome:
- payload := (payload).FieldName.Some()
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 16)) = int8(int32(1))
- utf832 := unsafe.Pointer(unsafe.StringData(payload))
- pinner.Pin(utf832)
- *(*uint32)(unsafe.Add(unsafe.Pointer(dst), (16 + 2*4))) = uint32(uint32(len(payload)))
- *(*uint32)(unsafe.Add(unsafe.Pointer(dst), (16 + 1*4))) = uint32(uintptr(uintptr(utf832)))
-
- default:
- panic("unreachable")
- }
-
- switch (payload).FieldSize.Tag() {
- case witTypes.OptionNone:
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), (16 + 3*4))) = int8(int32(0))
-
- case witTypes.OptionSome:
- payload := (payload).FieldSize.Some()
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), (16 + 3*4))) = int8(int32(1))
- *(*int32)(unsafe.Add(unsafe.Pointer(dst), (20 + 3*4))) = int32(payload)
-
- default:
- panic("unreachable")
- }
-
- case ErrorCode_HttpResponseIncomplete:
-
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 8)) = int8(int32(25))
-
- case ErrorCode_HttpResponseHeaderSectionSize:
- payload := payload.HttpResponseHeaderSectionSize()
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 8)) = int8(int32(26))
-
- switch payload.Tag() {
- case witTypes.OptionNone:
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 16)) = int8(int32(0))
-
- case witTypes.OptionSome:
- payload := payload.Some()
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 16)) = int8(int32(1))
- *(*int32)(unsafe.Add(unsafe.Pointer(dst), 20)) = int32(payload)
-
- default:
- panic("unreachable")
- }
-
- case ErrorCode_HttpResponseHeaderSize:
- payload := payload.HttpResponseHeaderSize()
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 8)) = int8(int32(27))
-
- switch (payload).FieldName.Tag() {
- case witTypes.OptionNone:
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 16)) = int8(int32(0))
-
- case witTypes.OptionSome:
- payload := (payload).FieldName.Some()
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 16)) = int8(int32(1))
- utf833 := unsafe.Pointer(unsafe.StringData(payload))
- pinner.Pin(utf833)
- *(*uint32)(unsafe.Add(unsafe.Pointer(dst), (16 + 2*4))) = uint32(uint32(len(payload)))
- *(*uint32)(unsafe.Add(unsafe.Pointer(dst), (16 + 1*4))) = uint32(uintptr(uintptr(utf833)))
-
- default:
- panic("unreachable")
- }
-
- switch (payload).FieldSize.Tag() {
- case witTypes.OptionNone:
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), (16 + 3*4))) = int8(int32(0))
-
- case witTypes.OptionSome:
- payload := (payload).FieldSize.Some()
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), (16 + 3*4))) = int8(int32(1))
- *(*int32)(unsafe.Add(unsafe.Pointer(dst), (20 + 3*4))) = int32(payload)
-
- default:
- panic("unreachable")
- }
-
- case ErrorCode_HttpResponseBodySize:
- payload := payload.HttpResponseBodySize()
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 8)) = int8(int32(28))
-
- switch payload.Tag() {
- case witTypes.OptionNone:
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 16)) = int8(int32(0))
-
- case witTypes.OptionSome:
- payload := payload.Some()
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 16)) = int8(int32(1))
- *(*int64)(unsafe.Add(unsafe.Pointer(dst), 24)) = int64(payload)
-
- default:
- panic("unreachable")
- }
-
- case ErrorCode_HttpResponseTrailerSectionSize:
- payload := payload.HttpResponseTrailerSectionSize()
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 8)) = int8(int32(29))
-
- switch payload.Tag() {
- case witTypes.OptionNone:
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 16)) = int8(int32(0))
-
- case witTypes.OptionSome:
- payload := payload.Some()
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 16)) = int8(int32(1))
- *(*int32)(unsafe.Add(unsafe.Pointer(dst), 20)) = int32(payload)
-
- default:
- panic("unreachable")
- }
-
- case ErrorCode_HttpResponseTrailerSize:
- payload := payload.HttpResponseTrailerSize()
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 8)) = int8(int32(30))
-
- switch (payload).FieldName.Tag() {
- case witTypes.OptionNone:
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 16)) = int8(int32(0))
-
- case witTypes.OptionSome:
- payload := (payload).FieldName.Some()
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 16)) = int8(int32(1))
- utf834 := unsafe.Pointer(unsafe.StringData(payload))
- pinner.Pin(utf834)
- *(*uint32)(unsafe.Add(unsafe.Pointer(dst), (16 + 2*4))) = uint32(uint32(len(payload)))
- *(*uint32)(unsafe.Add(unsafe.Pointer(dst), (16 + 1*4))) = uint32(uintptr(uintptr(utf834)))
-
- default:
- panic("unreachable")
- }
-
- switch (payload).FieldSize.Tag() {
- case witTypes.OptionNone:
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), (16 + 3*4))) = int8(int32(0))
-
- case witTypes.OptionSome:
- payload := (payload).FieldSize.Some()
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), (16 + 3*4))) = int8(int32(1))
- *(*int32)(unsafe.Add(unsafe.Pointer(dst), (20 + 3*4))) = int32(payload)
-
- default:
- panic("unreachable")
- }
-
- case ErrorCode_HttpResponseTransferCoding:
- payload := payload.HttpResponseTransferCoding()
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 8)) = int8(int32(31))
-
- switch payload.Tag() {
- case witTypes.OptionNone:
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 16)) = int8(int32(0))
-
- case witTypes.OptionSome:
- payload := payload.Some()
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 16)) = int8(int32(1))
- utf835 := unsafe.Pointer(unsafe.StringData(payload))
- pinner.Pin(utf835)
- *(*uint32)(unsafe.Add(unsafe.Pointer(dst), (16 + 2*4))) = uint32(uint32(len(payload)))
- *(*uint32)(unsafe.Add(unsafe.Pointer(dst), (16 + 1*4))) = uint32(uintptr(uintptr(utf835)))
-
- default:
- panic("unreachable")
- }
-
- case ErrorCode_HttpResponseContentCoding:
- payload := payload.HttpResponseContentCoding()
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 8)) = int8(int32(32))
-
- switch payload.Tag() {
- case witTypes.OptionNone:
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 16)) = int8(int32(0))
-
- case witTypes.OptionSome:
- payload := payload.Some()
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 16)) = int8(int32(1))
- utf836 := unsafe.Pointer(unsafe.StringData(payload))
- pinner.Pin(utf836)
- *(*uint32)(unsafe.Add(unsafe.Pointer(dst), (16 + 2*4))) = uint32(uint32(len(payload)))
- *(*uint32)(unsafe.Add(unsafe.Pointer(dst), (16 + 1*4))) = uint32(uintptr(uintptr(utf836)))
-
- default:
- panic("unreachable")
- }
-
- case ErrorCode_HttpResponseTimeout:
-
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 8)) = int8(int32(33))
-
- case ErrorCode_HttpUpgradeFailed:
-
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 8)) = int8(int32(34))
-
- case ErrorCode_HttpProtocolError:
-
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 8)) = int8(int32(35))
-
- case ErrorCode_LoopDetected:
-
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 8)) = int8(int32(36))
-
- case ErrorCode_ConfigurationError:
-
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 8)) = int8(int32(37))
-
- case ErrorCode_InternalError:
- payload := payload.InternalError()
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 8)) = int8(int32(38))
-
- switch payload.Tag() {
- case witTypes.OptionNone:
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 16)) = int8(int32(0))
-
- case witTypes.OptionSome:
- payload := payload.Some()
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 16)) = int8(int32(1))
- utf837 := unsafe.Pointer(unsafe.StringData(payload))
- pinner.Pin(utf837)
- *(*uint32)(unsafe.Add(unsafe.Pointer(dst), (16 + 2*4))) = uint32(uint32(len(payload)))
- *(*uint32)(unsafe.Add(unsafe.Pointer(dst), (16 + 1*4))) = uint32(uintptr(uintptr(utf837)))
-
- default:
- panic("unreachable")
- }
-
- default:
- panic("unreachable")
- }
-
- default:
- panic("unreachable")
- }
-
- return func() {
- for _, lifter := range lifters {
- lifter()
- }
- }
-}
-
-var wasm_future_vtable_result_option_fields_error_code = witTypes.FutureVtable[witTypes.Result[witTypes.Option[*Fields], ErrorCode]]{
- Size: (24 + 4*4),
- Align: 8,
- Read: wasm_future_read_result_option_fields_error_code,
- Write: wasm_future_write_result_option_fields_error_code,
- CancelRead: nil,
- CancelWrite: nil,
- DropReadable: wasm_future_drop_readable_result_option_fields_error_code,
- DropWritable: wasm_future_drop_writable_result_option_fields_error_code,
- Lift: wasm_future_lift_result_option_fields_error_code,
- Lower: wasm_future_lower_result_option_fields_error_code,
-}
-
-func MakeFutureResultOptionFieldsErrorCode() (*witTypes.FutureWriter[witTypes.Result[witTypes.Option[*Fields], ErrorCode]], *witTypes.FutureReader[witTypes.Result[witTypes.Option[*Fields], ErrorCode]]) {
- pair := wasm_future_new_result_option_fields_error_code()
- return witTypes.MakeFutureWriter[witTypes.Result[witTypes.Option[*Fields], ErrorCode]](&wasm_future_vtable_result_option_fields_error_code, int32(pair>>32)),
- witTypes.MakeFutureReader[witTypes.Result[witTypes.Option[*Fields], ErrorCode]](&wasm_future_vtable_result_option_fields_error_code, int32(pair&0xFFFFFFFF))
-}
-
-func LiftFutureResultOptionFieldsErrorCode(handle int32) *witTypes.FutureReader[witTypes.Result[witTypes.Option[*Fields], ErrorCode]] {
- return witTypes.MakeFutureReader[witTypes.Result[witTypes.Option[*Fields], ErrorCode]](&wasm_future_vtable_result_option_fields_error_code, handle)
-}
-
-//go:wasmimport wasi:http/types@0.3.0 [future-new-2][static]request.new
-func wasm_future_new_result_unit_error_code() uint64
-
-//go:wasmimport wasi:http/types@0.3.0 [async-lower][future-read-2][static]request.new
-func wasm_future_read_result_unit_error_code(handle int32, item unsafe.Pointer) uint32
-
-//go:wasmimport wasi:http/types@0.3.0 [async-lower][future-write-2][static]request.new
-func wasm_future_write_result_unit_error_code(handle int32, item unsafe.Pointer) uint32
-
-//go:wasmimport wasi:http/types@0.3.0 [future-drop-readable-2][static]request.new
-func wasm_future_drop_readable_result_unit_error_code(handle int32)
-
-//go:wasmimport wasi:http/types@0.3.0 [future-drop-writable-2][static]request.new
-func wasm_future_drop_writable_result_unit_error_code(handle int32)
-
-func wasm_future_lift_result_unit_error_code(src unsafe.Pointer) witTypes.Result[witTypes.Unit, ErrorCode] {
- var result witTypes.Result[witTypes.Unit, ErrorCode]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(src), 0))) {
- case 0:
-
- result = witTypes.Ok[witTypes.Unit, ErrorCode](witTypes.Unit{})
- case 1:
- var variant ErrorCode
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(src), 8))) {
- case 0:
-
- variant = MakeErrorCodeDnsTimeout()
-
- case 1:
- var option witTypes.Option[string]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(src), 16))) {
- case 0:
-
- option = witTypes.None[string]()
- case 1:
- value := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(src), (16 + 1*4)))))), *(*uint32)(unsafe.Add(unsafe.Pointer(src), (16 + 2*4))))
-
- option = witTypes.Some[string](value)
- default:
- panic("unreachable")
- }
- var option0 witTypes.Option[uint16]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(src), (16 + 3*4)))) {
- case 0:
-
- option0 = witTypes.None[uint16]()
- case 1:
-
- option0 = witTypes.Some[uint16](uint16(uint16(*(*uint32)(unsafe.Add(unsafe.Pointer(src), (18 + 3*4))))))
- default:
- panic("unreachable")
- }
-
- variant = MakeErrorCodeDnsError(DnsErrorPayload{Rcode: option, InfoCode: option0})
-
- case 2:
-
- variant = MakeErrorCodeDestinationNotFound()
-
- case 3:
-
- variant = MakeErrorCodeDestinationUnavailable()
-
- case 4:
-
- variant = MakeErrorCodeDestinationIpProhibited()
-
- case 5:
-
- variant = MakeErrorCodeDestinationIpUnroutable()
-
- case 6:
-
- variant = MakeErrorCodeConnectionRefused()
-
- case 7:
-
- variant = MakeErrorCodeConnectionTerminated()
-
- case 8:
-
- variant = MakeErrorCodeConnectionTimeout()
-
- case 9:
-
- variant = MakeErrorCodeConnectionReadTimeout()
-
- case 10:
-
- variant = MakeErrorCodeConnectionWriteTimeout()
-
- case 11:
-
- variant = MakeErrorCodeConnectionLimitReached()
-
- case 12:
-
- variant = MakeErrorCodeTlsProtocolError()
-
- case 13:
-
- variant = MakeErrorCodeTlsCertificateError()
-
- case 14:
- var option1 witTypes.Option[uint8]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(src), 16))) {
- case 0:
-
- option1 = witTypes.None[uint8]()
- case 1:
-
- option1 = witTypes.Some[uint8](uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(src), 17)))))
- default:
- panic("unreachable")
- }
- var option3 witTypes.Option[string]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(src), (16 + 1*4)))) {
- case 0:
-
- option3 = witTypes.None[string]()
- case 1:
- value2 := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(src), (16 + 2*4)))))), *(*uint32)(unsafe.Add(unsafe.Pointer(src), (16 + 3*4))))
-
- option3 = witTypes.Some[string](value2)
- default:
- panic("unreachable")
- }
-
- variant = MakeErrorCodeTlsAlertReceived(TlsAlertReceivedPayload{AlertId: option1, AlertMessage: option3})
-
- case 15:
-
- variant = MakeErrorCodeHttpRequestDenied()
-
- case 16:
-
- variant = MakeErrorCodeHttpRequestLengthRequired()
-
- case 17:
- var option4 witTypes.Option[uint64]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(src), 16))) {
- case 0:
-
- option4 = witTypes.None[uint64]()
- case 1:
-
- option4 = witTypes.Some[uint64](uint64(*(*int64)(unsafe.Add(unsafe.Pointer(src), 24))))
- default:
- panic("unreachable")
- }
-
- variant = MakeErrorCodeHttpRequestBodySize(option4)
-
- case 18:
-
- variant = MakeErrorCodeHttpRequestMethodInvalid()
-
- case 19:
-
- variant = MakeErrorCodeHttpRequestUriInvalid()
-
- case 20:
-
- variant = MakeErrorCodeHttpRequestUriTooLong()
-
- case 21:
- var option5 witTypes.Option[uint32]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(src), 16))) {
- case 0:
-
- option5 = witTypes.None[uint32]()
- case 1:
-
- option5 = witTypes.Some[uint32](uint32(*(*int32)(unsafe.Add(unsafe.Pointer(src), 20))))
- default:
- panic("unreachable")
- }
-
- variant = MakeErrorCodeHttpRequestHeaderSectionSize(option5)
-
- case 22:
- var option9 witTypes.Option[FieldSizePayload]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(src), 16))) {
- case 0:
-
- option9 = witTypes.None[FieldSizePayload]()
- case 1:
- var option7 witTypes.Option[string]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(src), (16 + 1*4)))) {
- case 0:
-
- option7 = witTypes.None[string]()
- case 1:
- value6 := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(src), (16 + 2*4)))))), *(*uint32)(unsafe.Add(unsafe.Pointer(src), (16 + 3*4))))
-
- option7 = witTypes.Some[string](value6)
- default:
- panic("unreachable")
- }
- var option8 witTypes.Option[uint32]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(src), (16 + 4*4)))) {
- case 0:
-
- option8 = witTypes.None[uint32]()
- case 1:
-
- option8 = witTypes.Some[uint32](uint32(*(*int32)(unsafe.Add(unsafe.Pointer(src), (20 + 4*4)))))
- default:
- panic("unreachable")
- }
-
- option9 = witTypes.Some[FieldSizePayload](FieldSizePayload{FieldName: option7, FieldSize: option8})
- default:
- panic("unreachable")
- }
-
- variant = MakeErrorCodeHttpRequestHeaderSize(option9)
-
- case 23:
- var option10 witTypes.Option[uint32]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(src), 16))) {
- case 0:
-
- option10 = witTypes.None[uint32]()
- case 1:
-
- option10 = witTypes.Some[uint32](uint32(*(*int32)(unsafe.Add(unsafe.Pointer(src), 20))))
- default:
- panic("unreachable")
- }
-
- variant = MakeErrorCodeHttpRequestTrailerSectionSize(option10)
-
- case 24:
- var option12 witTypes.Option[string]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(src), 16))) {
- case 0:
-
- option12 = witTypes.None[string]()
- case 1:
- value11 := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(src), (16 + 1*4)))))), *(*uint32)(unsafe.Add(unsafe.Pointer(src), (16 + 2*4))))
-
- option12 = witTypes.Some[string](value11)
- default:
- panic("unreachable")
- }
- var option13 witTypes.Option[uint32]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(src), (16 + 3*4)))) {
- case 0:
-
- option13 = witTypes.None[uint32]()
- case 1:
-
- option13 = witTypes.Some[uint32](uint32(*(*int32)(unsafe.Add(unsafe.Pointer(src), (20 + 3*4)))))
- default:
- panic("unreachable")
- }
-
- variant = MakeErrorCodeHttpRequestTrailerSize(FieldSizePayload{FieldName: option12, FieldSize: option13})
-
- case 25:
-
- variant = MakeErrorCodeHttpResponseIncomplete()
-
- case 26:
- var option14 witTypes.Option[uint32]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(src), 16))) {
- case 0:
-
- option14 = witTypes.None[uint32]()
- case 1:
-
- option14 = witTypes.Some[uint32](uint32(*(*int32)(unsafe.Add(unsafe.Pointer(src), 20))))
- default:
- panic("unreachable")
- }
-
- variant = MakeErrorCodeHttpResponseHeaderSectionSize(option14)
-
- case 27:
- var option16 witTypes.Option[string]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(src), 16))) {
- case 0:
-
- option16 = witTypes.None[string]()
- case 1:
- value15 := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(src), (16 + 1*4)))))), *(*uint32)(unsafe.Add(unsafe.Pointer(src), (16 + 2*4))))
-
- option16 = witTypes.Some[string](value15)
- default:
- panic("unreachable")
- }
- var option17 witTypes.Option[uint32]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(src), (16 + 3*4)))) {
- case 0:
-
- option17 = witTypes.None[uint32]()
- case 1:
-
- option17 = witTypes.Some[uint32](uint32(*(*int32)(unsafe.Add(unsafe.Pointer(src), (20 + 3*4)))))
- default:
- panic("unreachable")
- }
-
- variant = MakeErrorCodeHttpResponseHeaderSize(FieldSizePayload{FieldName: option16, FieldSize: option17})
-
- case 28:
- var option18 witTypes.Option[uint64]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(src), 16))) {
- case 0:
-
- option18 = witTypes.None[uint64]()
- case 1:
-
- option18 = witTypes.Some[uint64](uint64(*(*int64)(unsafe.Add(unsafe.Pointer(src), 24))))
- default:
- panic("unreachable")
- }
-
- variant = MakeErrorCodeHttpResponseBodySize(option18)
-
- case 29:
- var option19 witTypes.Option[uint32]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(src), 16))) {
- case 0:
-
- option19 = witTypes.None[uint32]()
- case 1:
-
- option19 = witTypes.Some[uint32](uint32(*(*int32)(unsafe.Add(unsafe.Pointer(src), 20))))
- default:
- panic("unreachable")
- }
-
- variant = MakeErrorCodeHttpResponseTrailerSectionSize(option19)
-
- case 30:
- var option21 witTypes.Option[string]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(src), 16))) {
- case 0:
-
- option21 = witTypes.None[string]()
- case 1:
- value20 := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(src), (16 + 1*4)))))), *(*uint32)(unsafe.Add(unsafe.Pointer(src), (16 + 2*4))))
-
- option21 = witTypes.Some[string](value20)
- default:
- panic("unreachable")
- }
- var option22 witTypes.Option[uint32]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(src), (16 + 3*4)))) {
- case 0:
-
- option22 = witTypes.None[uint32]()
- case 1:
-
- option22 = witTypes.Some[uint32](uint32(*(*int32)(unsafe.Add(unsafe.Pointer(src), (20 + 3*4)))))
- default:
- panic("unreachable")
- }
-
- variant = MakeErrorCodeHttpResponseTrailerSize(FieldSizePayload{FieldName: option21, FieldSize: option22})
-
- case 31:
- var option24 witTypes.Option[string]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(src), 16))) {
- case 0:
-
- option24 = witTypes.None[string]()
- case 1:
- value23 := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(src), (16 + 1*4)))))), *(*uint32)(unsafe.Add(unsafe.Pointer(src), (16 + 2*4))))
-
- option24 = witTypes.Some[string](value23)
- default:
- panic("unreachable")
- }
-
- variant = MakeErrorCodeHttpResponseTransferCoding(option24)
-
- case 32:
- var option26 witTypes.Option[string]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(src), 16))) {
- case 0:
-
- option26 = witTypes.None[string]()
- case 1:
- value25 := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(src), (16 + 1*4)))))), *(*uint32)(unsafe.Add(unsafe.Pointer(src), (16 + 2*4))))
-
- option26 = witTypes.Some[string](value25)
- default:
- panic("unreachable")
- }
-
- variant = MakeErrorCodeHttpResponseContentCoding(option26)
-
- case 33:
-
- variant = MakeErrorCodeHttpResponseTimeout()
-
- case 34:
-
- variant = MakeErrorCodeHttpUpgradeFailed()
-
- case 35:
-
- variant = MakeErrorCodeHttpProtocolError()
-
- case 36:
-
- variant = MakeErrorCodeLoopDetected()
-
- case 37:
-
- variant = MakeErrorCodeConfigurationError()
-
- case 38:
- var option28 witTypes.Option[string]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(src), 16))) {
- case 0:
-
- option28 = witTypes.None[string]()
- case 1:
- value27 := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(src), (16 + 1*4)))))), *(*uint32)(unsafe.Add(unsafe.Pointer(src), (16 + 2*4))))
-
- option28 = witTypes.Some[string](value27)
- default:
- panic("unreachable")
- }
-
- variant = MakeErrorCodeInternalError(option28)
-
- default:
- panic("unreachable")
- }
-
- result = witTypes.Err[witTypes.Unit, ErrorCode](variant)
- default:
- panic("unreachable")
- }
-
- return result
-}
-
-func wasm_future_lower_result_unit_error_code(
- pinner *runtime.Pinner,
- value witTypes.Result[witTypes.Unit, ErrorCode],
- dst unsafe.Pointer,
-) func() {
-
- switch value.Tag() {
- case witTypes.ResultOk:
-
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 0)) = int8(int32(0))
-
- case witTypes.ResultErr:
- payload := value.Err()
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 0)) = int8(int32(1))
-
- switch payload.Tag() {
- case ErrorCode_DnsTimeout:
-
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 8)) = int8(int32(0))
-
- case ErrorCode_DnsError:
- payload := payload.DnsError()
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 8)) = int8(int32(1))
-
- switch (payload).Rcode.Tag() {
- case witTypes.OptionNone:
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 16)) = int8(int32(0))
-
- case witTypes.OptionSome:
- payload := (payload).Rcode.Some()
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 16)) = int8(int32(1))
- utf8 := unsafe.Pointer(unsafe.StringData(payload))
- pinner.Pin(utf8)
- *(*uint32)(unsafe.Add(unsafe.Pointer(dst), (16 + 2*4))) = uint32(uint32(len(payload)))
- *(*uint32)(unsafe.Add(unsafe.Pointer(dst), (16 + 1*4))) = uint32(uintptr(uintptr(utf8)))
-
- default:
- panic("unreachable")
- }
-
- switch (payload).InfoCode.Tag() {
- case witTypes.OptionNone:
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), (16 + 3*4))) = int8(int32(0))
-
- case witTypes.OptionSome:
- payload := (payload).InfoCode.Some()
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), (16 + 3*4))) = int8(int32(1))
- *(*int16)(unsafe.Add(unsafe.Pointer(dst), (18 + 3*4))) = int16(int32(payload))
-
- default:
- panic("unreachable")
- }
-
- case ErrorCode_DestinationNotFound:
-
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 8)) = int8(int32(2))
-
- case ErrorCode_DestinationUnavailable:
-
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 8)) = int8(int32(3))
-
- case ErrorCode_DestinationIpProhibited:
-
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 8)) = int8(int32(4))
-
- case ErrorCode_DestinationIpUnroutable:
-
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 8)) = int8(int32(5))
-
- case ErrorCode_ConnectionRefused:
-
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 8)) = int8(int32(6))
-
- case ErrorCode_ConnectionTerminated:
-
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 8)) = int8(int32(7))
-
- case ErrorCode_ConnectionTimeout:
-
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 8)) = int8(int32(8))
-
- case ErrorCode_ConnectionReadTimeout:
-
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 8)) = int8(int32(9))
-
- case ErrorCode_ConnectionWriteTimeout:
-
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 8)) = int8(int32(10))
-
- case ErrorCode_ConnectionLimitReached:
-
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 8)) = int8(int32(11))
-
- case ErrorCode_TlsProtocolError:
-
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 8)) = int8(int32(12))
-
- case ErrorCode_TlsCertificateError:
-
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 8)) = int8(int32(13))
-
- case ErrorCode_TlsAlertReceived:
- payload := payload.TlsAlertReceived()
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 8)) = int8(int32(14))
-
- switch (payload).AlertId.Tag() {
- case witTypes.OptionNone:
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 16)) = int8(int32(0))
-
- case witTypes.OptionSome:
- payload := (payload).AlertId.Some()
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 16)) = int8(int32(1))
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 17)) = int8(int32(payload))
-
- default:
- panic("unreachable")
- }
-
- switch (payload).AlertMessage.Tag() {
- case witTypes.OptionNone:
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), (16 + 1*4))) = int8(int32(0))
-
- case witTypes.OptionSome:
- payload := (payload).AlertMessage.Some()
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), (16 + 1*4))) = int8(int32(1))
- utf829 := unsafe.Pointer(unsafe.StringData(payload))
- pinner.Pin(utf829)
- *(*uint32)(unsafe.Add(unsafe.Pointer(dst), (16 + 3*4))) = uint32(uint32(len(payload)))
- *(*uint32)(unsafe.Add(unsafe.Pointer(dst), (16 + 2*4))) = uint32(uintptr(uintptr(utf829)))
-
- default:
- panic("unreachable")
- }
-
- case ErrorCode_HttpRequestDenied:
-
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 8)) = int8(int32(15))
-
- case ErrorCode_HttpRequestLengthRequired:
-
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 8)) = int8(int32(16))
-
- case ErrorCode_HttpRequestBodySize:
- payload := payload.HttpRequestBodySize()
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 8)) = int8(int32(17))
-
- switch payload.Tag() {
- case witTypes.OptionNone:
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 16)) = int8(int32(0))
-
- case witTypes.OptionSome:
- payload := payload.Some()
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 16)) = int8(int32(1))
- *(*int64)(unsafe.Add(unsafe.Pointer(dst), 24)) = int64(payload)
-
- default:
- panic("unreachable")
- }
-
- case ErrorCode_HttpRequestMethodInvalid:
-
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 8)) = int8(int32(18))
-
- case ErrorCode_HttpRequestUriInvalid:
-
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 8)) = int8(int32(19))
-
- case ErrorCode_HttpRequestUriTooLong:
-
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 8)) = int8(int32(20))
-
- case ErrorCode_HttpRequestHeaderSectionSize:
- payload := payload.HttpRequestHeaderSectionSize()
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 8)) = int8(int32(21))
-
- switch payload.Tag() {
- case witTypes.OptionNone:
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 16)) = int8(int32(0))
-
- case witTypes.OptionSome:
- payload := payload.Some()
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 16)) = int8(int32(1))
- *(*int32)(unsafe.Add(unsafe.Pointer(dst), 20)) = int32(payload)
-
- default:
- panic("unreachable")
- }
-
- case ErrorCode_HttpRequestHeaderSize:
- payload := payload.HttpRequestHeaderSize()
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 8)) = int8(int32(22))
-
- switch payload.Tag() {
- case witTypes.OptionNone:
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 16)) = int8(int32(0))
-
- case witTypes.OptionSome:
- payload := payload.Some()
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 16)) = int8(int32(1))
-
- switch (payload).FieldName.Tag() {
- case witTypes.OptionNone:
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), (16 + 1*4))) = int8(int32(0))
-
- case witTypes.OptionSome:
- payload := (payload).FieldName.Some()
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), (16 + 1*4))) = int8(int32(1))
- utf830 := unsafe.Pointer(unsafe.StringData(payload))
- pinner.Pin(utf830)
- *(*uint32)(unsafe.Add(unsafe.Pointer(dst), (16 + 3*4))) = uint32(uint32(len(payload)))
- *(*uint32)(unsafe.Add(unsafe.Pointer(dst), (16 + 2*4))) = uint32(uintptr(uintptr(utf830)))
-
- default:
- panic("unreachable")
- }
-
- switch (payload).FieldSize.Tag() {
- case witTypes.OptionNone:
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), (16 + 4*4))) = int8(int32(0))
-
- case witTypes.OptionSome:
- payload := (payload).FieldSize.Some()
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), (16 + 4*4))) = int8(int32(1))
- *(*int32)(unsafe.Add(unsafe.Pointer(dst), (20 + 4*4))) = int32(payload)
-
- default:
- panic("unreachable")
- }
-
- default:
- panic("unreachable")
- }
-
- case ErrorCode_HttpRequestTrailerSectionSize:
- payload := payload.HttpRequestTrailerSectionSize()
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 8)) = int8(int32(23))
-
- switch payload.Tag() {
- case witTypes.OptionNone:
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 16)) = int8(int32(0))
-
- case witTypes.OptionSome:
- payload := payload.Some()
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 16)) = int8(int32(1))
- *(*int32)(unsafe.Add(unsafe.Pointer(dst), 20)) = int32(payload)
-
- default:
- panic("unreachable")
- }
-
- case ErrorCode_HttpRequestTrailerSize:
- payload := payload.HttpRequestTrailerSize()
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 8)) = int8(int32(24))
-
- switch (payload).FieldName.Tag() {
- case witTypes.OptionNone:
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 16)) = int8(int32(0))
-
- case witTypes.OptionSome:
- payload := (payload).FieldName.Some()
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 16)) = int8(int32(1))
- utf831 := unsafe.Pointer(unsafe.StringData(payload))
- pinner.Pin(utf831)
- *(*uint32)(unsafe.Add(unsafe.Pointer(dst), (16 + 2*4))) = uint32(uint32(len(payload)))
- *(*uint32)(unsafe.Add(unsafe.Pointer(dst), (16 + 1*4))) = uint32(uintptr(uintptr(utf831)))
-
- default:
- panic("unreachable")
- }
-
- switch (payload).FieldSize.Tag() {
- case witTypes.OptionNone:
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), (16 + 3*4))) = int8(int32(0))
-
- case witTypes.OptionSome:
- payload := (payload).FieldSize.Some()
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), (16 + 3*4))) = int8(int32(1))
- *(*int32)(unsafe.Add(unsafe.Pointer(dst), (20 + 3*4))) = int32(payload)
-
- default:
- panic("unreachable")
- }
-
- case ErrorCode_HttpResponseIncomplete:
-
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 8)) = int8(int32(25))
-
- case ErrorCode_HttpResponseHeaderSectionSize:
- payload := payload.HttpResponseHeaderSectionSize()
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 8)) = int8(int32(26))
-
- switch payload.Tag() {
- case witTypes.OptionNone:
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 16)) = int8(int32(0))
-
- case witTypes.OptionSome:
- payload := payload.Some()
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 16)) = int8(int32(1))
- *(*int32)(unsafe.Add(unsafe.Pointer(dst), 20)) = int32(payload)
-
- default:
- panic("unreachable")
- }
-
- case ErrorCode_HttpResponseHeaderSize:
- payload := payload.HttpResponseHeaderSize()
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 8)) = int8(int32(27))
-
- switch (payload).FieldName.Tag() {
- case witTypes.OptionNone:
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 16)) = int8(int32(0))
-
- case witTypes.OptionSome:
- payload := (payload).FieldName.Some()
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 16)) = int8(int32(1))
- utf832 := unsafe.Pointer(unsafe.StringData(payload))
- pinner.Pin(utf832)
- *(*uint32)(unsafe.Add(unsafe.Pointer(dst), (16 + 2*4))) = uint32(uint32(len(payload)))
- *(*uint32)(unsafe.Add(unsafe.Pointer(dst), (16 + 1*4))) = uint32(uintptr(uintptr(utf832)))
-
- default:
- panic("unreachable")
- }
-
- switch (payload).FieldSize.Tag() {
- case witTypes.OptionNone:
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), (16 + 3*4))) = int8(int32(0))
-
- case witTypes.OptionSome:
- payload := (payload).FieldSize.Some()
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), (16 + 3*4))) = int8(int32(1))
- *(*int32)(unsafe.Add(unsafe.Pointer(dst), (20 + 3*4))) = int32(payload)
-
- default:
- panic("unreachable")
- }
-
- case ErrorCode_HttpResponseBodySize:
- payload := payload.HttpResponseBodySize()
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 8)) = int8(int32(28))
-
- switch payload.Tag() {
- case witTypes.OptionNone:
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 16)) = int8(int32(0))
-
- case witTypes.OptionSome:
- payload := payload.Some()
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 16)) = int8(int32(1))
- *(*int64)(unsafe.Add(unsafe.Pointer(dst), 24)) = int64(payload)
-
- default:
- panic("unreachable")
- }
-
- case ErrorCode_HttpResponseTrailerSectionSize:
- payload := payload.HttpResponseTrailerSectionSize()
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 8)) = int8(int32(29))
-
- switch payload.Tag() {
- case witTypes.OptionNone:
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 16)) = int8(int32(0))
-
- case witTypes.OptionSome:
- payload := payload.Some()
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 16)) = int8(int32(1))
- *(*int32)(unsafe.Add(unsafe.Pointer(dst), 20)) = int32(payload)
-
- default:
- panic("unreachable")
- }
-
- case ErrorCode_HttpResponseTrailerSize:
- payload := payload.HttpResponseTrailerSize()
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 8)) = int8(int32(30))
-
- switch (payload).FieldName.Tag() {
- case witTypes.OptionNone:
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 16)) = int8(int32(0))
-
- case witTypes.OptionSome:
- payload := (payload).FieldName.Some()
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 16)) = int8(int32(1))
- utf833 := unsafe.Pointer(unsafe.StringData(payload))
- pinner.Pin(utf833)
- *(*uint32)(unsafe.Add(unsafe.Pointer(dst), (16 + 2*4))) = uint32(uint32(len(payload)))
- *(*uint32)(unsafe.Add(unsafe.Pointer(dst), (16 + 1*4))) = uint32(uintptr(uintptr(utf833)))
-
- default:
- panic("unreachable")
- }
-
- switch (payload).FieldSize.Tag() {
- case witTypes.OptionNone:
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), (16 + 3*4))) = int8(int32(0))
-
- case witTypes.OptionSome:
- payload := (payload).FieldSize.Some()
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), (16 + 3*4))) = int8(int32(1))
- *(*int32)(unsafe.Add(unsafe.Pointer(dst), (20 + 3*4))) = int32(payload)
-
- default:
- panic("unreachable")
- }
-
- case ErrorCode_HttpResponseTransferCoding:
- payload := payload.HttpResponseTransferCoding()
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 8)) = int8(int32(31))
-
- switch payload.Tag() {
- case witTypes.OptionNone:
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 16)) = int8(int32(0))
-
- case witTypes.OptionSome:
- payload := payload.Some()
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 16)) = int8(int32(1))
- utf834 := unsafe.Pointer(unsafe.StringData(payload))
- pinner.Pin(utf834)
- *(*uint32)(unsafe.Add(unsafe.Pointer(dst), (16 + 2*4))) = uint32(uint32(len(payload)))
- *(*uint32)(unsafe.Add(unsafe.Pointer(dst), (16 + 1*4))) = uint32(uintptr(uintptr(utf834)))
-
- default:
- panic("unreachable")
- }
-
- case ErrorCode_HttpResponseContentCoding:
- payload := payload.HttpResponseContentCoding()
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 8)) = int8(int32(32))
-
- switch payload.Tag() {
- case witTypes.OptionNone:
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 16)) = int8(int32(0))
-
- case witTypes.OptionSome:
- payload := payload.Some()
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 16)) = int8(int32(1))
- utf835 := unsafe.Pointer(unsafe.StringData(payload))
- pinner.Pin(utf835)
- *(*uint32)(unsafe.Add(unsafe.Pointer(dst), (16 + 2*4))) = uint32(uint32(len(payload)))
- *(*uint32)(unsafe.Add(unsafe.Pointer(dst), (16 + 1*4))) = uint32(uintptr(uintptr(utf835)))
-
- default:
- panic("unreachable")
- }
-
- case ErrorCode_HttpResponseTimeout:
-
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 8)) = int8(int32(33))
-
- case ErrorCode_HttpUpgradeFailed:
-
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 8)) = int8(int32(34))
-
- case ErrorCode_HttpProtocolError:
-
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 8)) = int8(int32(35))
-
- case ErrorCode_LoopDetected:
-
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 8)) = int8(int32(36))
-
- case ErrorCode_ConfigurationError:
-
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 8)) = int8(int32(37))
-
- case ErrorCode_InternalError:
- payload := payload.InternalError()
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 8)) = int8(int32(38))
-
- switch payload.Tag() {
- case witTypes.OptionNone:
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 16)) = int8(int32(0))
-
- case witTypes.OptionSome:
- payload := payload.Some()
- *(*int8)(unsafe.Add(unsafe.Pointer(dst), 16)) = int8(int32(1))
- utf836 := unsafe.Pointer(unsafe.StringData(payload))
- pinner.Pin(utf836)
- *(*uint32)(unsafe.Add(unsafe.Pointer(dst), (16 + 2*4))) = uint32(uint32(len(payload)))
- *(*uint32)(unsafe.Add(unsafe.Pointer(dst), (16 + 1*4))) = uint32(uintptr(uintptr(utf836)))
-
- default:
- panic("unreachable")
- }
-
- default:
- panic("unreachable")
- }
-
- default:
- panic("unreachable")
- }
-
- return func() {}
-}
-
-var wasm_future_vtable_result_unit_error_code = witTypes.FutureVtable[witTypes.Result[witTypes.Unit, ErrorCode]]{
- Size: (24 + 4*4),
- Align: 8,
- Read: wasm_future_read_result_unit_error_code,
- Write: wasm_future_write_result_unit_error_code,
- CancelRead: nil,
- CancelWrite: nil,
- DropReadable: wasm_future_drop_readable_result_unit_error_code,
- DropWritable: wasm_future_drop_writable_result_unit_error_code,
- Lift: wasm_future_lift_result_unit_error_code,
- Lower: wasm_future_lower_result_unit_error_code,
-}
-
-func MakeFutureResultUnitErrorCode() (*witTypes.FutureWriter[witTypes.Result[witTypes.Unit, ErrorCode]], *witTypes.FutureReader[witTypes.Result[witTypes.Unit, ErrorCode]]) {
- pair := wasm_future_new_result_unit_error_code()
- return witTypes.MakeFutureWriter[witTypes.Result[witTypes.Unit, ErrorCode]](&wasm_future_vtable_result_unit_error_code, int32(pair>>32)),
- witTypes.MakeFutureReader[witTypes.Result[witTypes.Unit, ErrorCode]](&wasm_future_vtable_result_unit_error_code, int32(pair&0xFFFFFFFF))
-}
-
-func LiftFutureResultUnitErrorCode(handle int32) *witTypes.FutureReader[witTypes.Result[witTypes.Unit, ErrorCode]] {
- return witTypes.MakeFutureReader[witTypes.Result[witTypes.Unit, ErrorCode]](&wasm_future_vtable_result_unit_error_code, handle)
-}
-
-type Duration = uint64
-
-const (
- Method_Get uint8 = 0
- Method_Head uint8 = 1
- Method_Post uint8 = 2
- Method_Put uint8 = 3
- Method_Delete uint8 = 4
- Method_Connect uint8 = 5
- Method_Options uint8 = 6
- Method_Trace uint8 = 7
- Method_Patch uint8 = 8
- Method_Other uint8 = 9
-)
-
-// This type corresponds to HTTP standard Methods.
-type Method struct {
- tag uint8
- value any
-}
-
-func (self Method) Tag() uint8 {
- return self.tag
-}
-
-func (self Method) Other() string {
- if self.tag != Method_Other {
- panic("tag mismatch")
- }
- return self.value.(string)
-}
-
-func MakeMethodGet() Method {
- return Method{Method_Get, nil}
-}
-func MakeMethodHead() Method {
- return Method{Method_Head, nil}
-}
-func MakeMethodPost() Method {
- return Method{Method_Post, nil}
-}
-func MakeMethodPut() Method {
- return Method{Method_Put, nil}
-}
-func MakeMethodDelete() Method {
- return Method{Method_Delete, nil}
-}
-func MakeMethodConnect() Method {
- return Method{Method_Connect, nil}
-}
-func MakeMethodOptions() Method {
- return Method{Method_Options, nil}
-}
-func MakeMethodTrace() Method {
- return Method{Method_Trace, nil}
-}
-func MakeMethodPatch() Method {
- return Method{Method_Patch, nil}
-}
-func MakeMethodOther(value string) Method {
- return Method{Method_Other, value}
-}
-
-const (
- Scheme_Http uint8 = 0
- Scheme_Https uint8 = 1
- Scheme_Other uint8 = 2
-)
-
-// This type corresponds to HTTP standard Related Schemes.
-type Scheme struct {
- tag uint8
- value any
-}
-
-func (self Scheme) Tag() uint8 {
- return self.tag
-}
-
-func (self Scheme) Other() string {
- if self.tag != Scheme_Other {
- panic("tag mismatch")
- }
- return self.value.(string)
-}
-
-func MakeSchemeHttp() Scheme {
- return Scheme{Scheme_Http, nil}
-}
-func MakeSchemeHttps() Scheme {
- return Scheme{Scheme_Https, nil}
-}
-func MakeSchemeOther(value string) Scheme {
- return Scheme{Scheme_Other, value}
-}
-
-// Defines the case payload type for `DNS-error` above:
-type DnsErrorPayload struct {
- Rcode witTypes.Option[string]
- InfoCode witTypes.Option[uint16]
-}
-
-// Defines the case payload type for `TLS-alert-received` above:
-type TlsAlertReceivedPayload struct {
- AlertId witTypes.Option[uint8]
- AlertMessage witTypes.Option[string]
-}
-
-// Defines the case payload type for `HTTP-response-{header,trailer}-size` above:
-type FieldSizePayload struct {
- FieldName witTypes.Option[string]
- FieldSize witTypes.Option[uint32]
-}
-
-const (
- ErrorCode_DnsTimeout uint8 = 0
- ErrorCode_DnsError uint8 = 1
- ErrorCode_DestinationNotFound uint8 = 2
- ErrorCode_DestinationUnavailable uint8 = 3
- ErrorCode_DestinationIpProhibited uint8 = 4
- ErrorCode_DestinationIpUnroutable uint8 = 5
- ErrorCode_ConnectionRefused uint8 = 6
- ErrorCode_ConnectionTerminated uint8 = 7
- ErrorCode_ConnectionTimeout uint8 = 8
- ErrorCode_ConnectionReadTimeout uint8 = 9
- ErrorCode_ConnectionWriteTimeout uint8 = 10
- ErrorCode_ConnectionLimitReached uint8 = 11
- ErrorCode_TlsProtocolError uint8 = 12
- ErrorCode_TlsCertificateError uint8 = 13
- ErrorCode_TlsAlertReceived uint8 = 14
- ErrorCode_HttpRequestDenied uint8 = 15
- ErrorCode_HttpRequestLengthRequired uint8 = 16
- ErrorCode_HttpRequestBodySize uint8 = 17
- ErrorCode_HttpRequestMethodInvalid uint8 = 18
- ErrorCode_HttpRequestUriInvalid uint8 = 19
- ErrorCode_HttpRequestUriTooLong uint8 = 20
- ErrorCode_HttpRequestHeaderSectionSize uint8 = 21
- ErrorCode_HttpRequestHeaderSize uint8 = 22
- ErrorCode_HttpRequestTrailerSectionSize uint8 = 23
- ErrorCode_HttpRequestTrailerSize uint8 = 24
- ErrorCode_HttpResponseIncomplete uint8 = 25
- ErrorCode_HttpResponseHeaderSectionSize uint8 = 26
- ErrorCode_HttpResponseHeaderSize uint8 = 27
- ErrorCode_HttpResponseBodySize uint8 = 28
- ErrorCode_HttpResponseTrailerSectionSize uint8 = 29
- ErrorCode_HttpResponseTrailerSize uint8 = 30
- ErrorCode_HttpResponseTransferCoding uint8 = 31
- ErrorCode_HttpResponseContentCoding uint8 = 32
- ErrorCode_HttpResponseTimeout uint8 = 33
- ErrorCode_HttpUpgradeFailed uint8 = 34
- ErrorCode_HttpProtocolError uint8 = 35
- ErrorCode_LoopDetected uint8 = 36
- ErrorCode_ConfigurationError uint8 = 37
- // This is a catch-all error for anything that doesn't fit cleanly into a
- // more specific case. It also includes an optional string for an
- // unstructured description of the error. Users should not depend on the
- // string for diagnosing errors, as it's not required to be consistent
- // between implementations.
- ErrorCode_InternalError uint8 = 38
-)
-
-// These cases are inspired by the IANA HTTP Proxy Error Types:
-//
-//
-type ErrorCode struct {
- tag uint8
- value any
-}
-
-func (self ErrorCode) Tag() uint8 {
- return self.tag
-}
-
-func (self ErrorCode) DnsError() DnsErrorPayload {
- if self.tag != ErrorCode_DnsError {
- panic("tag mismatch")
- }
- return self.value.(DnsErrorPayload)
-}
-
-func (self ErrorCode) TlsAlertReceived() TlsAlertReceivedPayload {
- if self.tag != ErrorCode_TlsAlertReceived {
- panic("tag mismatch")
- }
- return self.value.(TlsAlertReceivedPayload)
-}
-
-func (self ErrorCode) HttpRequestBodySize() witTypes.Option[uint64] {
- if self.tag != ErrorCode_HttpRequestBodySize {
- panic("tag mismatch")
- }
- return self.value.(witTypes.Option[uint64])
-}
-
-func (self ErrorCode) HttpRequestHeaderSectionSize() witTypes.Option[uint32] {
- if self.tag != ErrorCode_HttpRequestHeaderSectionSize {
- panic("tag mismatch")
- }
- return self.value.(witTypes.Option[uint32])
-}
-
-func (self ErrorCode) HttpRequestHeaderSize() witTypes.Option[FieldSizePayload] {
- if self.tag != ErrorCode_HttpRequestHeaderSize {
- panic("tag mismatch")
- }
- return self.value.(witTypes.Option[FieldSizePayload])
-}
-
-func (self ErrorCode) HttpRequestTrailerSectionSize() witTypes.Option[uint32] {
- if self.tag != ErrorCode_HttpRequestTrailerSectionSize {
- panic("tag mismatch")
- }
- return self.value.(witTypes.Option[uint32])
-}
-
-func (self ErrorCode) HttpRequestTrailerSize() FieldSizePayload {
- if self.tag != ErrorCode_HttpRequestTrailerSize {
- panic("tag mismatch")
- }
- return self.value.(FieldSizePayload)
-}
-
-func (self ErrorCode) HttpResponseHeaderSectionSize() witTypes.Option[uint32] {
- if self.tag != ErrorCode_HttpResponseHeaderSectionSize {
- panic("tag mismatch")
- }
- return self.value.(witTypes.Option[uint32])
-}
-
-func (self ErrorCode) HttpResponseHeaderSize() FieldSizePayload {
- if self.tag != ErrorCode_HttpResponseHeaderSize {
- panic("tag mismatch")
- }
- return self.value.(FieldSizePayload)
-}
-
-func (self ErrorCode) HttpResponseBodySize() witTypes.Option[uint64] {
- if self.tag != ErrorCode_HttpResponseBodySize {
- panic("tag mismatch")
- }
- return self.value.(witTypes.Option[uint64])
-}
-
-func (self ErrorCode) HttpResponseTrailerSectionSize() witTypes.Option[uint32] {
- if self.tag != ErrorCode_HttpResponseTrailerSectionSize {
- panic("tag mismatch")
- }
- return self.value.(witTypes.Option[uint32])
-}
-
-func (self ErrorCode) HttpResponseTrailerSize() FieldSizePayload {
- if self.tag != ErrorCode_HttpResponseTrailerSize {
- panic("tag mismatch")
- }
- return self.value.(FieldSizePayload)
-}
-
-func (self ErrorCode) HttpResponseTransferCoding() witTypes.Option[string] {
- if self.tag != ErrorCode_HttpResponseTransferCoding {
- panic("tag mismatch")
- }
- return self.value.(witTypes.Option[string])
-}
-
-func (self ErrorCode) HttpResponseContentCoding() witTypes.Option[string] {
- if self.tag != ErrorCode_HttpResponseContentCoding {
- panic("tag mismatch")
- }
- return self.value.(witTypes.Option[string])
-}
-
-func (self ErrorCode) InternalError() witTypes.Option[string] {
- if self.tag != ErrorCode_InternalError {
- panic("tag mismatch")
- }
- return self.value.(witTypes.Option[string])
-}
-
-func MakeErrorCodeDnsTimeout() ErrorCode {
- return ErrorCode{ErrorCode_DnsTimeout, nil}
-}
-func MakeErrorCodeDnsError(value DnsErrorPayload) ErrorCode {
- return ErrorCode{ErrorCode_DnsError, value}
-}
-func MakeErrorCodeDestinationNotFound() ErrorCode {
- return ErrorCode{ErrorCode_DestinationNotFound, nil}
-}
-func MakeErrorCodeDestinationUnavailable() ErrorCode {
- return ErrorCode{ErrorCode_DestinationUnavailable, nil}
-}
-func MakeErrorCodeDestinationIpProhibited() ErrorCode {
- return ErrorCode{ErrorCode_DestinationIpProhibited, nil}
-}
-func MakeErrorCodeDestinationIpUnroutable() ErrorCode {
- return ErrorCode{ErrorCode_DestinationIpUnroutable, nil}
-}
-func MakeErrorCodeConnectionRefused() ErrorCode {
- return ErrorCode{ErrorCode_ConnectionRefused, nil}
-}
-func MakeErrorCodeConnectionTerminated() ErrorCode {
- return ErrorCode{ErrorCode_ConnectionTerminated, nil}
-}
-func MakeErrorCodeConnectionTimeout() ErrorCode {
- return ErrorCode{ErrorCode_ConnectionTimeout, nil}
-}
-func MakeErrorCodeConnectionReadTimeout() ErrorCode {
- return ErrorCode{ErrorCode_ConnectionReadTimeout, nil}
-}
-func MakeErrorCodeConnectionWriteTimeout() ErrorCode {
- return ErrorCode{ErrorCode_ConnectionWriteTimeout, nil}
-}
-func MakeErrorCodeConnectionLimitReached() ErrorCode {
- return ErrorCode{ErrorCode_ConnectionLimitReached, nil}
-}
-func MakeErrorCodeTlsProtocolError() ErrorCode {
- return ErrorCode{ErrorCode_TlsProtocolError, nil}
-}
-func MakeErrorCodeTlsCertificateError() ErrorCode {
- return ErrorCode{ErrorCode_TlsCertificateError, nil}
-}
-func MakeErrorCodeTlsAlertReceived(value TlsAlertReceivedPayload) ErrorCode {
- return ErrorCode{ErrorCode_TlsAlertReceived, value}
-}
-func MakeErrorCodeHttpRequestDenied() ErrorCode {
- return ErrorCode{ErrorCode_HttpRequestDenied, nil}
-}
-func MakeErrorCodeHttpRequestLengthRequired() ErrorCode {
- return ErrorCode{ErrorCode_HttpRequestLengthRequired, nil}
-}
-func MakeErrorCodeHttpRequestBodySize(value witTypes.Option[uint64]) ErrorCode {
- return ErrorCode{ErrorCode_HttpRequestBodySize, value}
-}
-func MakeErrorCodeHttpRequestMethodInvalid() ErrorCode {
- return ErrorCode{ErrorCode_HttpRequestMethodInvalid, nil}
-}
-func MakeErrorCodeHttpRequestUriInvalid() ErrorCode {
- return ErrorCode{ErrorCode_HttpRequestUriInvalid, nil}
-}
-func MakeErrorCodeHttpRequestUriTooLong() ErrorCode {
- return ErrorCode{ErrorCode_HttpRequestUriTooLong, nil}
-}
-func MakeErrorCodeHttpRequestHeaderSectionSize(value witTypes.Option[uint32]) ErrorCode {
- return ErrorCode{ErrorCode_HttpRequestHeaderSectionSize, value}
-}
-func MakeErrorCodeHttpRequestHeaderSize(value witTypes.Option[FieldSizePayload]) ErrorCode {
- return ErrorCode{ErrorCode_HttpRequestHeaderSize, value}
-}
-func MakeErrorCodeHttpRequestTrailerSectionSize(value witTypes.Option[uint32]) ErrorCode {
- return ErrorCode{ErrorCode_HttpRequestTrailerSectionSize, value}
-}
-func MakeErrorCodeHttpRequestTrailerSize(value FieldSizePayload) ErrorCode {
- return ErrorCode{ErrorCode_HttpRequestTrailerSize, value}
-}
-func MakeErrorCodeHttpResponseIncomplete() ErrorCode {
- return ErrorCode{ErrorCode_HttpResponseIncomplete, nil}
-}
-func MakeErrorCodeHttpResponseHeaderSectionSize(value witTypes.Option[uint32]) ErrorCode {
- return ErrorCode{ErrorCode_HttpResponseHeaderSectionSize, value}
-}
-func MakeErrorCodeHttpResponseHeaderSize(value FieldSizePayload) ErrorCode {
- return ErrorCode{ErrorCode_HttpResponseHeaderSize, value}
-}
-func MakeErrorCodeHttpResponseBodySize(value witTypes.Option[uint64]) ErrorCode {
- return ErrorCode{ErrorCode_HttpResponseBodySize, value}
-}
-func MakeErrorCodeHttpResponseTrailerSectionSize(value witTypes.Option[uint32]) ErrorCode {
- return ErrorCode{ErrorCode_HttpResponseTrailerSectionSize, value}
-}
-func MakeErrorCodeHttpResponseTrailerSize(value FieldSizePayload) ErrorCode {
- return ErrorCode{ErrorCode_HttpResponseTrailerSize, value}
-}
-func MakeErrorCodeHttpResponseTransferCoding(value witTypes.Option[string]) ErrorCode {
- return ErrorCode{ErrorCode_HttpResponseTransferCoding, value}
-}
-func MakeErrorCodeHttpResponseContentCoding(value witTypes.Option[string]) ErrorCode {
- return ErrorCode{ErrorCode_HttpResponseContentCoding, value}
-}
-func MakeErrorCodeHttpResponseTimeout() ErrorCode {
- return ErrorCode{ErrorCode_HttpResponseTimeout, nil}
-}
-func MakeErrorCodeHttpUpgradeFailed() ErrorCode {
- return ErrorCode{ErrorCode_HttpUpgradeFailed, nil}
-}
-func MakeErrorCodeHttpProtocolError() ErrorCode {
- return ErrorCode{ErrorCode_HttpProtocolError, nil}
-}
-func MakeErrorCodeLoopDetected() ErrorCode {
- return ErrorCode{ErrorCode_LoopDetected, nil}
-}
-func MakeErrorCodeConfigurationError() ErrorCode {
- return ErrorCode{ErrorCode_ConfigurationError, nil}
-}
-func MakeErrorCodeInternalError(value witTypes.Option[string]) ErrorCode {
- return ErrorCode{ErrorCode_InternalError, value}
-}
-
-const (
- // This error indicates that a `field-name` or `field-value` was
- // syntactically invalid when used with an operation that sets headers in a
- // `fields`.
- HeaderError_InvalidSyntax uint8 = 0
- // This error indicates that a forbidden `field-name` was used when trying
- // to set a header in a `fields`.
- HeaderError_Forbidden uint8 = 1
- // This error indicates that the operation on the `fields` was not
- // permitted because the fields are immutable.
- HeaderError_Immutable uint8 = 2
- // This error indicates that the operation would exceed an
- // implementation-defined limit on field sizes. This may apply to
- // an individual `field-value`, a single `field-name` plus all its
- // values, or the total aggregate size of all fields.
- HeaderError_SizeExceeded uint8 = 3
- // This is a catch-all error for anything that doesn't fit cleanly into a
- // more specific case. Implementations can use this to extend the error
- // type without breaking existing code. It also includes an optional
- // string for an unstructured description of the error. Users should not
- // depend on the string for diagnosing errors, as it's not required to be
- // consistent between implementations.
- HeaderError_Other uint8 = 4
-)
-
-// This type enumerates the different kinds of errors that may occur when
-// setting or appending to a `fields` resource.
-type HeaderError struct {
- tag uint8
- value any
-}
-
-func (self HeaderError) Tag() uint8 {
- return self.tag
-}
-
-func (self HeaderError) Other() witTypes.Option[string] {
- if self.tag != HeaderError_Other {
- panic("tag mismatch")
- }
- return self.value.(witTypes.Option[string])
-}
-
-func MakeHeaderErrorInvalidSyntax() HeaderError {
- return HeaderError{HeaderError_InvalidSyntax, nil}
-}
-func MakeHeaderErrorForbidden() HeaderError {
- return HeaderError{HeaderError_Forbidden, nil}
-}
-func MakeHeaderErrorImmutable() HeaderError {
- return HeaderError{HeaderError_Immutable, nil}
-}
-func MakeHeaderErrorSizeExceeded() HeaderError {
- return HeaderError{HeaderError_SizeExceeded, nil}
-}
-func MakeHeaderErrorOther(value witTypes.Option[string]) HeaderError {
- return HeaderError{HeaderError_Other, value}
-}
-
-const (
- // Indicates the specified field is not supported by this implementation.
- RequestOptionsError_NotSupported uint8 = 0
- // Indicates that the operation on the `request-options` was not permitted
- // because it is immutable.
- RequestOptionsError_Immutable uint8 = 1
- // This is a catch-all error for anything that doesn't fit cleanly into a
- // more specific case. Implementations can use this to extend the error
- // type without breaking existing code. It also includes an optional
- // string for an unstructured description of the error. Users should not
- // depend on the string for diagnosing errors, as it's not required to be
- // consistent between implementations.
- RequestOptionsError_Other uint8 = 2
-)
-
-// This type enumerates the different kinds of errors that may occur when
-// setting fields of a `request-options` resource.
-type RequestOptionsError struct {
- tag uint8
- value any
-}
-
-func (self RequestOptionsError) Tag() uint8 {
- return self.tag
-}
-
-func (self RequestOptionsError) Other() witTypes.Option[string] {
- if self.tag != RequestOptionsError_Other {
- panic("tag mismatch")
- }
- return self.value.(witTypes.Option[string])
-}
-
-func MakeRequestOptionsErrorNotSupported() RequestOptionsError {
- return RequestOptionsError{RequestOptionsError_NotSupported, nil}
-}
-func MakeRequestOptionsErrorImmutable() RequestOptionsError {
- return RequestOptionsError{RequestOptionsError_Immutable, nil}
-}
-func MakeRequestOptionsErrorOther(value witTypes.Option[string]) RequestOptionsError {
- return RequestOptionsError{RequestOptionsError_Other, value}
-}
-
-// Field names are always strings.
-//
-// Field names should always be treated as case insensitive by the `fields`
-// resource for the purposes of equality checking.
-type FieldName = string
-
-// Field values should always be ASCII strings. However, in
-// reality, HTTP implementations often have to interpret malformed values,
-// so they are provided as a list of bytes.
-type FieldValue = []uint8
-
-//go:wasmimport wasi:http/types@0.3.0 [resource-drop]fields
-func resourceDropFields(handle int32)
-
-// This following block defines the `fields` resource which corresponds to
-// HTTP standard Fields. Fields are a common representation used for both
-// Headers and Trailers.
-//
-// A `fields` may be mutable or immutable. A `fields` created using the
-// constructor, `from-list`, or `clone` will be mutable, but a `fields`
-// resource given by other means (including, but not limited to,
-// `request.headers`) might be be immutable. In an immutable fields, the
-// `set`, `append`, and `delete` operations will fail with
-// `header-error.immutable`.
-//
-// A `fields` resource should store `field-name`s and `field-value`s in their
-// original casing used to construct or mutate the `fields` resource. The `fields`
-// resource should use that original casing when serializing the fields for
-// transport or when returning them from a method.
-//
-// Implementations may impose limits on individual field values and on total
-// aggregate field section size. Operations that would exceed these limits
-// fail with `header-error.size-exceeded`
-type Fields struct {
- handle *witRuntime.Handle
-}
-
-func (self *Fields) TakeHandle() int32 {
- return self.handle.Take()
-}
-
-func (self *Fields) SetHandle(handle int32) {
- self.handle.Set(handle)
-}
-
-func (self *Fields) Handle() int32 {
- return self.handle.Use()
-}
-
-func (self *Fields) Drop() {
- handle := self.handle.TakeOrNil()
- if handle != 0 {
- resourceDropFields(handle)
- }
-}
-
-func FieldsFromOwnHandle(handleValue int32) *Fields {
- handle := witRuntime.MakeHandle(handleValue)
- value := &Fields{handle}
- runtime.AddCleanup(value, func(_ int) {
- handleValue := handle.TakeOrNil()
- if handleValue != 0 {
- resourceDropFields(handleValue)
- }
- }, 0)
- return value
-}
-
-func FieldsFromBorrowHandle(handleValue int32) *Fields {
- handle := witRuntime.MakeHandle(handleValue)
- return &Fields{handle}
-}
-
-// Headers is an alias for Fields.
-type Headers = Fields
-
-// Trailers is an alias for Fields.
-type Trailers = Fields
-
-//go:wasmimport wasi:http/types@0.3.0 [resource-drop]request
-func resourceDropRequest(handle int32)
-
-// Represents an HTTP Request.
-type Request struct {
- handle *witRuntime.Handle
-}
-
-func (self *Request) TakeHandle() int32 {
- return self.handle.Take()
-}
-
-func (self *Request) SetHandle(handle int32) {
- self.handle.Set(handle)
-}
-
-func (self *Request) Handle() int32 {
- return self.handle.Use()
-}
-
-func (self *Request) Drop() {
- handle := self.handle.TakeOrNil()
- if handle != 0 {
- resourceDropRequest(handle)
- }
-}
-
-func RequestFromOwnHandle(handleValue int32) *Request {
- handle := witRuntime.MakeHandle(handleValue)
- value := &Request{handle}
- runtime.AddCleanup(value, func(_ int) {
- handleValue := handle.TakeOrNil()
- if handleValue != 0 {
- resourceDropRequest(handleValue)
- }
- }, 0)
- return value
-}
-
-func RequestFromBorrowHandle(handleValue int32) *Request {
- handle := witRuntime.MakeHandle(handleValue)
- return &Request{handle}
-}
-
-//go:wasmimport wasi:http/types@0.3.0 [resource-drop]request-options
-func resourceDropRequestOptions(handle int32)
-
-// Parameters for making an HTTP Request. Each of these parameters is
-// currently an optional timeout applicable to the transport layer of the
-// HTTP protocol.
-//
-// These timeouts are separate from any the user may use to bound an
-// asynchronous call.
-type RequestOptions struct {
- handle *witRuntime.Handle
-}
-
-func (self *RequestOptions) TakeHandle() int32 {
- return self.handle.Take()
-}
-
-func (self *RequestOptions) SetHandle(handle int32) {
- self.handle.Set(handle)
-}
-
-func (self *RequestOptions) Handle() int32 {
- return self.handle.Use()
-}
-
-func (self *RequestOptions) Drop() {
- handle := self.handle.TakeOrNil()
- if handle != 0 {
- resourceDropRequestOptions(handle)
- }
-}
-
-func RequestOptionsFromOwnHandle(handleValue int32) *RequestOptions {
- handle := witRuntime.MakeHandle(handleValue)
- value := &RequestOptions{handle}
- runtime.AddCleanup(value, func(_ int) {
- handleValue := handle.TakeOrNil()
- if handleValue != 0 {
- resourceDropRequestOptions(handleValue)
- }
- }, 0)
- return value
-}
-
-func RequestOptionsFromBorrowHandle(handleValue int32) *RequestOptions {
- handle := witRuntime.MakeHandle(handleValue)
- return &RequestOptions{handle}
-}
-
-// This type corresponds to the HTTP standard Status Code.
-type StatusCode = uint16
-
-//go:wasmimport wasi:http/types@0.3.0 [resource-drop]response
-func resourceDropResponse(handle int32)
-
-// Represents an HTTP Response.
-type Response struct {
- handle *witRuntime.Handle
-}
-
-func (self *Response) TakeHandle() int32 {
- return self.handle.Take()
-}
-
-func (self *Response) SetHandle(handle int32) {
- self.handle.Set(handle)
-}
-
-func (self *Response) Handle() int32 {
- return self.handle.Use()
-}
-
-func (self *Response) Drop() {
- handle := self.handle.TakeOrNil()
- if handle != 0 {
- resourceDropResponse(handle)
- }
-}
-
-func ResponseFromOwnHandle(handleValue int32) *Response {
- handle := witRuntime.MakeHandle(handleValue)
- value := &Response{handle}
- runtime.AddCleanup(value, func(_ int) {
- handleValue := handle.TakeOrNil()
- if handleValue != 0 {
- resourceDropResponse(handleValue)
- }
- }, 0)
- return value
-}
-
-func ResponseFromBorrowHandle(handleValue int32) *Response {
- handle := witRuntime.MakeHandle(handleValue)
- return &Response{handle}
-}
-
-//go:wasmimport wasi:http/types@0.3.0 [constructor]fields
-func wasm_import_constructor_fields() int32
-
-func MakeFields() *Fields {
-
- result := wasm_import_constructor_fields()
- return FieldsFromOwnHandle(int32(uintptr(result)))
-
-}
-
-//go:wasmimport wasi:http/types@0.3.0 [static]fields.from-list
-func wasm_import_static_fields_from_list(arg0 uintptr, arg1 uint32, arg2 uintptr)
-
-func FieldsFromList(entries []witTypes.Tuple2[string, []uint8]) witTypes.Result[*Fields, HeaderError] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, (5 * 4), 4))
- slice := entries
- length := uint32(len(slice))
- result := witRuntime.Allocate(pinner, uintptr(length*(4*4)), 4)
- for index, element := range slice {
- base := unsafe.Add(result, index*(4*4))
- utf8 := unsafe.Pointer(unsafe.StringData((element).F0))
- pinner.Pin(utf8)
- *(*uint32)(unsafe.Add(unsafe.Pointer(base), 4)) = uint32(uint32(len((element).F0)))
- *(*uint32)(unsafe.Add(unsafe.Pointer(base), 0)) = uint32(uintptr(uintptr(utf8)))
- data := unsafe.Pointer(unsafe.SliceData((element).F1))
- pinner.Pin(data)
- *(*uint32)(unsafe.Add(unsafe.Pointer(base), (3 * 4))) = uint32(uint32(len((element).F1)))
- *(*uint32)(unsafe.Add(unsafe.Pointer(base), (2 * 4))) = uint32(uintptr(uintptr(data)))
-
- }
-
- wasm_import_static_fields_from_list(uintptr(result), length, returnArea)
- var result0 witTypes.Result[*Fields, HeaderError]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- result0 = witTypes.Ok[*Fields, HeaderError](FieldsFromOwnHandle(int32(uintptr(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 4))))))
- case 1:
- var variant HeaderError
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 4))) {
- case 0:
-
- variant = MakeHeaderErrorInvalidSyntax()
-
- case 1:
-
- variant = MakeHeaderErrorForbidden()
-
- case 2:
-
- variant = MakeHeaderErrorImmutable()
-
- case 3:
-
- variant = MakeHeaderErrorSizeExceeded()
-
- case 4:
- var option witTypes.Option[string]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (2 * 4)))) {
- case 0:
-
- option = witTypes.None[string]()
- case 1:
- value := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (3 * 4)))))), *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (4 * 4))))
-
- option = witTypes.Some[string](value)
- default:
- panic("unreachable")
- }
-
- variant = MakeHeaderErrorOther(option)
-
- default:
- panic("unreachable")
- }
-
- result0 = witTypes.Err[*Fields, HeaderError](variant)
- default:
- panic("unreachable")
- }
- result1 := result0
- return result1
-
-}
-
-//go:wasmimport wasi:http/types@0.3.0 [method]fields.get
-func wasm_import_method_fields_get(arg0 int32, arg1 uintptr, arg2 uint32, arg3 uintptr)
-
-func (self *Fields) Get(name string) [][]uint8 {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, (2 * 4), 4))
- utf8 := unsafe.Pointer(unsafe.StringData(name))
- pinner.Pin(utf8)
- wasm_import_method_fields_get((self).Handle(), uintptr(utf8), uint32(len(name)), returnArea)
- result := make([][]uint8, 0, *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 4)))
- for index := 0; index < int(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 4))); index++ {
- base := unsafe.Add(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0)))), index*(2*4))
- value := unsafe.Slice((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(base), 0))))), *(*uint32)(unsafe.Add(unsafe.Pointer(base), 4)))
-
- result = append(result, value)
- }
-
- result0 := result
- return result0
-
-}
-
-//go:wasmimport wasi:http/types@0.3.0 [method]fields.has
-func wasm_import_method_fields_has(arg0 int32, arg1 uintptr, arg2 uint32) int32
-
-func (self *Fields) Has(name string) bool {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- utf8 := unsafe.Pointer(unsafe.StringData(name))
- pinner.Pin(utf8)
- result := wasm_import_method_fields_has((self).Handle(), uintptr(utf8), uint32(len(name)))
- return (result != 0)
-
-}
-
-//go:wasmimport wasi:http/types@0.3.0 [method]fields.set
-func wasm_import_method_fields_set(arg0 int32, arg1 uintptr, arg2 uint32, arg3 uintptr, arg4 uint32, arg5 uintptr)
-
-func (self *Fields) Set(name string, value [][]uint8) witTypes.Result[witTypes.Unit, HeaderError] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, (5 * 4), 4))
- utf8 := unsafe.Pointer(unsafe.StringData(name))
- pinner.Pin(utf8)
- slice := value
- length := uint32(len(slice))
- result := witRuntime.Allocate(pinner, uintptr(length*(2*4)), 4)
- for index, element := range slice {
- base := unsafe.Add(result, index*(2*4))
- data := unsafe.Pointer(unsafe.SliceData(element))
- pinner.Pin(data)
- *(*uint32)(unsafe.Add(unsafe.Pointer(base), 4)) = uint32(uint32(len(element)))
- *(*uint32)(unsafe.Add(unsafe.Pointer(base), 0)) = uint32(uintptr(uintptr(data)))
-
- }
-
- wasm_import_method_fields_set((self).Handle(), uintptr(utf8), uint32(len(name)), uintptr(result), length, returnArea)
- var result1 witTypes.Result[witTypes.Unit, HeaderError]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- result1 = witTypes.Ok[witTypes.Unit, HeaderError](witTypes.Unit{})
- case 1:
- var variant HeaderError
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 4))) {
- case 0:
-
- variant = MakeHeaderErrorInvalidSyntax()
-
- case 1:
-
- variant = MakeHeaderErrorForbidden()
-
- case 2:
-
- variant = MakeHeaderErrorImmutable()
-
- case 3:
-
- variant = MakeHeaderErrorSizeExceeded()
-
- case 4:
- var option witTypes.Option[string]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (2 * 4)))) {
- case 0:
-
- option = witTypes.None[string]()
- case 1:
- value0 := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (3 * 4)))))), *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (4 * 4))))
-
- option = witTypes.Some[string](value0)
- default:
- panic("unreachable")
- }
-
- variant = MakeHeaderErrorOther(option)
-
- default:
- panic("unreachable")
- }
-
- result1 = witTypes.Err[witTypes.Unit, HeaderError](variant)
- default:
- panic("unreachable")
- }
- result2 := result1
- return result2
-
-}
-
-//go:wasmimport wasi:http/types@0.3.0 [method]fields.delete
-func wasm_import_method_fields_delete(arg0 int32, arg1 uintptr, arg2 uint32, arg3 uintptr)
-
-func (self *Fields) Delete(name string) witTypes.Result[witTypes.Unit, HeaderError] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, (5 * 4), 4))
- utf8 := unsafe.Pointer(unsafe.StringData(name))
- pinner.Pin(utf8)
- wasm_import_method_fields_delete((self).Handle(), uintptr(utf8), uint32(len(name)), returnArea)
- var result witTypes.Result[witTypes.Unit, HeaderError]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- result = witTypes.Ok[witTypes.Unit, HeaderError](witTypes.Unit{})
- case 1:
- var variant HeaderError
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 4))) {
- case 0:
-
- variant = MakeHeaderErrorInvalidSyntax()
-
- case 1:
-
- variant = MakeHeaderErrorForbidden()
-
- case 2:
-
- variant = MakeHeaderErrorImmutable()
-
- case 3:
-
- variant = MakeHeaderErrorSizeExceeded()
-
- case 4:
- var option witTypes.Option[string]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (2 * 4)))) {
- case 0:
-
- option = witTypes.None[string]()
- case 1:
- value := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (3 * 4)))))), *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (4 * 4))))
-
- option = witTypes.Some[string](value)
- default:
- panic("unreachable")
- }
-
- variant = MakeHeaderErrorOther(option)
-
- default:
- panic("unreachable")
- }
-
- result = witTypes.Err[witTypes.Unit, HeaderError](variant)
- default:
- panic("unreachable")
- }
- result0 := result
- return result0
-
-}
-
-//go:wasmimport wasi:http/types@0.3.0 [method]fields.get-and-delete
-func wasm_import_method_fields_get_and_delete(arg0 int32, arg1 uintptr, arg2 uint32, arg3 uintptr)
-
-func (self *Fields) GetAndDelete(name string) witTypes.Result[[][]uint8, HeaderError] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, (5 * 4), 4))
- utf8 := unsafe.Pointer(unsafe.StringData(name))
- pinner.Pin(utf8)
- wasm_import_method_fields_get_and_delete((self).Handle(), uintptr(utf8), uint32(len(name)), returnArea)
- var result1 witTypes.Result[[][]uint8, HeaderError]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
- result := make([][]uint8, 0, *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (2 * 4))))
- for index := 0; index < int(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (2 * 4)))); index++ {
- base := unsafe.Add(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 4)))), index*(2*4))
- value := unsafe.Slice((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(base), 0))))), *(*uint32)(unsafe.Add(unsafe.Pointer(base), 4)))
-
- result = append(result, value)
- }
-
- result1 = witTypes.Ok[[][]uint8, HeaderError](result)
- case 1:
- var variant HeaderError
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 4))) {
- case 0:
-
- variant = MakeHeaderErrorInvalidSyntax()
-
- case 1:
-
- variant = MakeHeaderErrorForbidden()
-
- case 2:
-
- variant = MakeHeaderErrorImmutable()
-
- case 3:
-
- variant = MakeHeaderErrorSizeExceeded()
-
- case 4:
- var option witTypes.Option[string]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (2 * 4)))) {
- case 0:
-
- option = witTypes.None[string]()
- case 1:
- value0 := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (3 * 4)))))), *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (4 * 4))))
-
- option = witTypes.Some[string](value0)
- default:
- panic("unreachable")
- }
-
- variant = MakeHeaderErrorOther(option)
-
- default:
- panic("unreachable")
- }
-
- result1 = witTypes.Err[[][]uint8, HeaderError](variant)
- default:
- panic("unreachable")
- }
- result2 := result1
- return result2
-
-}
-
-//go:wasmimport wasi:http/types@0.3.0 [method]fields.append
-func wasm_import_method_fields_append(arg0 int32, arg1 uintptr, arg2 uint32, arg3 uintptr, arg4 uint32, arg5 uintptr)
-
-func (self *Fields) Append(name string, value []uint8) witTypes.Result[witTypes.Unit, HeaderError] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, (5 * 4), 4))
- utf8 := unsafe.Pointer(unsafe.StringData(name))
- pinner.Pin(utf8)
- data := unsafe.Pointer(unsafe.SliceData(value))
- pinner.Pin(data)
- wasm_import_method_fields_append((self).Handle(), uintptr(utf8), uint32(len(name)), uintptr(data), uint32(len(value)), returnArea)
- var result witTypes.Result[witTypes.Unit, HeaderError]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- result = witTypes.Ok[witTypes.Unit, HeaderError](witTypes.Unit{})
- case 1:
- var variant HeaderError
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 4))) {
- case 0:
-
- variant = MakeHeaderErrorInvalidSyntax()
-
- case 1:
-
- variant = MakeHeaderErrorForbidden()
-
- case 2:
-
- variant = MakeHeaderErrorImmutable()
-
- case 3:
-
- variant = MakeHeaderErrorSizeExceeded()
-
- case 4:
- var option witTypes.Option[string]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (2 * 4)))) {
- case 0:
-
- option = witTypes.None[string]()
- case 1:
- value0 := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (3 * 4)))))), *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (4 * 4))))
-
- option = witTypes.Some[string](value0)
- default:
- panic("unreachable")
- }
-
- variant = MakeHeaderErrorOther(option)
-
- default:
- panic("unreachable")
- }
-
- result = witTypes.Err[witTypes.Unit, HeaderError](variant)
- default:
- panic("unreachable")
- }
- result1 := result
- return result1
-
-}
-
-//go:wasmimport wasi:http/types@0.3.0 [method]fields.copy-all
-func wasm_import_method_fields_copy_all(arg0 int32, arg1 uintptr)
-
-func (self *Fields) CopyAll() []witTypes.Tuple2[string, []uint8] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, (2 * 4), 4))
- wasm_import_method_fields_copy_all((self).Handle(), returnArea)
- result := make([]witTypes.Tuple2[string, []uint8], 0, *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 4)))
- for index := 0; index < int(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 4))); index++ {
- base := unsafe.Add(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0)))), index*(4*4))
- value := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(base), 0))))), *(*uint32)(unsafe.Add(unsafe.Pointer(base), 4)))
- value0 := unsafe.Slice((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(base), (2 * 4)))))), *(*uint32)(unsafe.Add(unsafe.Pointer(base), (3 * 4))))
-
- result = append(result, witTypes.Tuple2[string, []uint8]{F0: value, F1: value0})
- }
-
- result1 := result
- return result1
-
-}
-
-//go:wasmimport wasi:http/types@0.3.0 [method]fields.clone
-func wasm_import_method_fields_clone(arg0 int32) int32
-
-func (self *Fields) Clone() *Fields {
-
- result := wasm_import_method_fields_clone((self).Handle())
- return FieldsFromOwnHandle(int32(uintptr(result)))
-
-}
-
-//go:wasmimport wasi:http/types@0.3.0 [static]request.new
-func wasm_import_static_request_new(arg0 int32, arg1 int32, arg2 int32, arg3 int32, arg4 int32, arg5 int32, arg6 uintptr)
-
-func RequestNew(headers *Fields, contents witTypes.Option[*witTypes.StreamReader[uint8]], trailers *witTypes.FutureReader[witTypes.Result[witTypes.Option[*Fields], ErrorCode]], options witTypes.Option[*RequestOptions]) (*Request, *witTypes.FutureReader[witTypes.Result[witTypes.Unit, ErrorCode]]) {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 8, 4))
- var option int32
- var option0 int32
- switch contents.Tag() {
- case witTypes.OptionNone:
-
- option = int32(0)
- option0 = 0
- case witTypes.OptionSome:
- payload := contents.Some()
-
- option = int32(1)
- option0 = (payload).TakeHandle()
- default:
- panic("unreachable")
- }
- var option1 int32
- var option2 int32
- switch options.Tag() {
- case witTypes.OptionNone:
-
- option1 = int32(0)
- option2 = 0
- case witTypes.OptionSome:
- payload := options.Some()
-
- option1 = int32(1)
- option2 = (payload).TakeHandle()
- default:
- panic("unreachable")
- }
- wasm_import_static_request_new((headers).TakeHandle(), option, option0, (trailers).TakeHandle(), option1, option2, returnArea)
- result := witTypes.Tuple2[*Request, *witTypes.FutureReader[witTypes.Result[witTypes.Unit, ErrorCode]]]{F0: RequestFromOwnHandle(int32(uintptr(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 0))))), F1: LiftFutureResultUnitErrorCode(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 4)))}
- tuple := result
- return tuple.F0, tuple.F1
-
-}
-
-//go:wasmimport wasi:http/types@0.3.0 [method]request.get-method
-func wasm_import_method_request_get_method(arg0 int32, arg1 uintptr)
-
-func (self *Request) GetMethod() Method {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, (3 * 4), 4))
- wasm_import_method_request_get_method((self).Handle(), returnArea)
- var variant Method
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- variant = MakeMethodGet()
-
- case 1:
-
- variant = MakeMethodHead()
-
- case 2:
-
- variant = MakeMethodPost()
-
- case 3:
-
- variant = MakeMethodPut()
-
- case 4:
-
- variant = MakeMethodDelete()
-
- case 5:
-
- variant = MakeMethodConnect()
-
- case 6:
-
- variant = MakeMethodOptions()
-
- case 7:
-
- variant = MakeMethodTrace()
-
- case 8:
-
- variant = MakeMethodPatch()
-
- case 9:
- value := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 4))))), *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (2 * 4))))
-
- variant = MakeMethodOther(value)
-
- default:
- panic("unreachable")
- }
- result := variant
- return result
-
-}
-
-//go:wasmimport wasi:http/types@0.3.0 [method]request.set-method
-func wasm_import_method_request_set_method(arg0 int32, arg1 int32, arg2 uintptr, arg3 uint32) int32
-
-func (self *Request) SetMethod(method Method) witTypes.Result[witTypes.Unit, witTypes.Unit] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- var variant int32
- var variant0 uintptr
- var variant1 uint32
- switch method.Tag() {
- case Method_Get:
-
- variant = int32(0)
- variant0 = 0
- variant1 = 0
-
- case Method_Head:
-
- variant = int32(1)
- variant0 = 0
- variant1 = 0
-
- case Method_Post:
-
- variant = int32(2)
- variant0 = 0
- variant1 = 0
-
- case Method_Put:
-
- variant = int32(3)
- variant0 = 0
- variant1 = 0
-
- case Method_Delete:
-
- variant = int32(4)
- variant0 = 0
- variant1 = 0
-
- case Method_Connect:
-
- variant = int32(5)
- variant0 = 0
- variant1 = 0
-
- case Method_Options:
-
- variant = int32(6)
- variant0 = 0
- variant1 = 0
-
- case Method_Trace:
-
- variant = int32(7)
- variant0 = 0
- variant1 = 0
-
- case Method_Patch:
-
- variant = int32(8)
- variant0 = 0
- variant1 = 0
-
- case Method_Other:
- payload := method.Other()
- utf8 := unsafe.Pointer(unsafe.StringData(payload))
- pinner.Pin(utf8)
-
- variant = int32(9)
- variant0 = uintptr(utf8)
- variant1 = uint32(len(payload))
-
- default:
- panic("unreachable")
- }
- result := wasm_import_method_request_set_method((self).Handle(), variant, variant0, variant1)
- var result2 witTypes.Result[witTypes.Unit, witTypes.Unit]
- switch result {
- case 0:
-
- result2 = witTypes.Ok[witTypes.Unit, witTypes.Unit](witTypes.Unit{})
- case 1:
-
- result2 = witTypes.Err[witTypes.Unit, witTypes.Unit](witTypes.Unit{})
- default:
- panic("unreachable")
- }
- return result2
-
-}
-
-//go:wasmimport wasi:http/types@0.3.0 [method]request.get-path-with-query
-func wasm_import_method_request_get_path_with_query(arg0 int32, arg1 uintptr)
-
-func (self *Request) GetPathWithQuery() witTypes.Option[string] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, (3 * 4), 4))
- wasm_import_method_request_get_path_with_query((self).Handle(), returnArea)
- var option witTypes.Option[string]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- option = witTypes.None[string]()
- case 1:
- value := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 4))))), *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (2 * 4))))
-
- option = witTypes.Some[string](value)
- default:
- panic("unreachable")
- }
- result := option
- return result
-
-}
-
-//go:wasmimport wasi:http/types@0.3.0 [method]request.set-path-with-query
-func wasm_import_method_request_set_path_with_query(arg0 int32, arg1 int32, arg2 uintptr, arg3 uint32) int32
-
-func (self *Request) SetPathWithQuery(pathWithQuery witTypes.Option[string]) witTypes.Result[witTypes.Unit, witTypes.Unit] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- var option int32
- var option0 uintptr
- var option1 uint32
- switch pathWithQuery.Tag() {
- case witTypes.OptionNone:
-
- option = int32(0)
- option0 = 0
- option1 = 0
- case witTypes.OptionSome:
- payload := pathWithQuery.Some()
- utf8 := unsafe.Pointer(unsafe.StringData(payload))
- pinner.Pin(utf8)
-
- option = int32(1)
- option0 = uintptr(utf8)
- option1 = uint32(len(payload))
- default:
- panic("unreachable")
- }
- result := wasm_import_method_request_set_path_with_query((self).Handle(), option, option0, option1)
- var result2 witTypes.Result[witTypes.Unit, witTypes.Unit]
- switch result {
- case 0:
-
- result2 = witTypes.Ok[witTypes.Unit, witTypes.Unit](witTypes.Unit{})
- case 1:
-
- result2 = witTypes.Err[witTypes.Unit, witTypes.Unit](witTypes.Unit{})
- default:
- panic("unreachable")
- }
- return result2
-
-}
-
-//go:wasmimport wasi:http/types@0.3.0 [method]request.get-scheme
-func wasm_import_method_request_get_scheme(arg0 int32, arg1 uintptr)
-
-func (self *Request) GetScheme() witTypes.Option[Scheme] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, (4 * 4), 4))
- wasm_import_method_request_get_scheme((self).Handle(), returnArea)
- var option witTypes.Option[Scheme]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- option = witTypes.None[Scheme]()
- case 1:
- var variant Scheme
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 4))) {
- case 0:
-
- variant = MakeSchemeHttp()
-
- case 1:
-
- variant = MakeSchemeHttps()
-
- case 2:
- value := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (2 * 4)))))), *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (3 * 4))))
-
- variant = MakeSchemeOther(value)
-
- default:
- panic("unreachable")
- }
-
- option = witTypes.Some[Scheme](variant)
- default:
- panic("unreachable")
- }
- result := option
- return result
-
-}
-
-//go:wasmimport wasi:http/types@0.3.0 [method]request.set-scheme
-func wasm_import_method_request_set_scheme(arg0 int32, arg1 int32, arg2 int32, arg3 uintptr, arg4 uint32) int32
-
-func (self *Request) SetScheme(scheme witTypes.Option[Scheme]) witTypes.Result[witTypes.Unit, witTypes.Unit] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- var option int32
- var option2 int32
- var option3 uintptr
- var option4 uint32
- switch scheme.Tag() {
- case witTypes.OptionNone:
-
- option = int32(0)
- option2 = 0
- option3 = 0
- option4 = 0
- case witTypes.OptionSome:
- payload := scheme.Some()
- var variant int32
- var variant0 uintptr
- var variant1 uint32
- switch payload.Tag() {
- case Scheme_Http:
-
- variant = int32(0)
- variant0 = 0
- variant1 = 0
-
- case Scheme_Https:
-
- variant = int32(1)
- variant0 = 0
- variant1 = 0
-
- case Scheme_Other:
- payload := payload.Other()
- utf8 := unsafe.Pointer(unsafe.StringData(payload))
- pinner.Pin(utf8)
-
- variant = int32(2)
- variant0 = uintptr(utf8)
- variant1 = uint32(len(payload))
-
- default:
- panic("unreachable")
- }
-
- option = int32(1)
- option2 = variant
- option3 = variant0
- option4 = variant1
- default:
- panic("unreachable")
- }
- result := wasm_import_method_request_set_scheme((self).Handle(), option, option2, option3, option4)
- var result5 witTypes.Result[witTypes.Unit, witTypes.Unit]
- switch result {
- case 0:
-
- result5 = witTypes.Ok[witTypes.Unit, witTypes.Unit](witTypes.Unit{})
- case 1:
-
- result5 = witTypes.Err[witTypes.Unit, witTypes.Unit](witTypes.Unit{})
- default:
- panic("unreachable")
- }
- return result5
-
-}
-
-//go:wasmimport wasi:http/types@0.3.0 [method]request.get-authority
-func wasm_import_method_request_get_authority(arg0 int32, arg1 uintptr)
-
-func (self *Request) GetAuthority() witTypes.Option[string] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, (3 * 4), 4))
- wasm_import_method_request_get_authority((self).Handle(), returnArea)
- var option witTypes.Option[string]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- option = witTypes.None[string]()
- case 1:
- value := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 4))))), *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (2 * 4))))
-
- option = witTypes.Some[string](value)
- default:
- panic("unreachable")
- }
- result := option
- return result
-
-}
-
-//go:wasmimport wasi:http/types@0.3.0 [method]request.set-authority
-func wasm_import_method_request_set_authority(arg0 int32, arg1 int32, arg2 uintptr, arg3 uint32) int32
-
-func (self *Request) SetAuthority(authority witTypes.Option[string]) witTypes.Result[witTypes.Unit, witTypes.Unit] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- var option int32
- var option0 uintptr
- var option1 uint32
- switch authority.Tag() {
- case witTypes.OptionNone:
-
- option = int32(0)
- option0 = 0
- option1 = 0
- case witTypes.OptionSome:
- payload := authority.Some()
- utf8 := unsafe.Pointer(unsafe.StringData(payload))
- pinner.Pin(utf8)
-
- option = int32(1)
- option0 = uintptr(utf8)
- option1 = uint32(len(payload))
- default:
- panic("unreachable")
- }
- result := wasm_import_method_request_set_authority((self).Handle(), option, option0, option1)
- var result2 witTypes.Result[witTypes.Unit, witTypes.Unit]
- switch result {
- case 0:
-
- result2 = witTypes.Ok[witTypes.Unit, witTypes.Unit](witTypes.Unit{})
- case 1:
-
- result2 = witTypes.Err[witTypes.Unit, witTypes.Unit](witTypes.Unit{})
- default:
- panic("unreachable")
- }
- return result2
-
-}
-
-//go:wasmimport wasi:http/types@0.3.0 [method]request.get-options
-func wasm_import_method_request_get_options(arg0 int32, arg1 uintptr)
-
-func (self *Request) GetOptions() witTypes.Option[*RequestOptions] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 8, 4))
- wasm_import_method_request_get_options((self).Handle(), returnArea)
- var option witTypes.Option[*RequestOptions]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- option = witTypes.None[*RequestOptions]()
- case 1:
-
- option = witTypes.Some[*RequestOptions](RequestOptionsFromOwnHandle(int32(uintptr(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 4))))))
- default:
- panic("unreachable")
- }
- result := option
- return result
-
-}
-
-//go:wasmimport wasi:http/types@0.3.0 [method]request.get-headers
-func wasm_import_method_request_get_headers(arg0 int32) int32
-
-func (self *Request) GetHeaders() *Fields {
-
- result := wasm_import_method_request_get_headers((self).Handle())
- return FieldsFromOwnHandle(int32(uintptr(result)))
-
-}
-
-//go:wasmimport wasi:http/types@0.3.0 [static]request.consume-body
-func wasm_import_static_request_consume_body(arg0 int32, arg1 int32, arg2 uintptr)
-
-func RequestConsumeBody(this *Request, res *witTypes.FutureReader[witTypes.Result[witTypes.Unit, ErrorCode]]) (*witTypes.StreamReader[uint8], *witTypes.FutureReader[witTypes.Result[witTypes.Option[*Fields], ErrorCode]]) {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 8, 4))
- wasm_import_static_request_consume_body((this).TakeHandle(), (res).TakeHandle(), returnArea)
- result := witTypes.Tuple2[*witTypes.StreamReader[uint8], *witTypes.FutureReader[witTypes.Result[witTypes.Option[*Fields], ErrorCode]]]{F0: LiftStreamU8(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 0))), F1: LiftFutureResultOptionFieldsErrorCode(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 4)))}
- tuple := result
- return tuple.F0, tuple.F1
-
-}
-
-//go:wasmimport wasi:http/types@0.3.0 [constructor]request-options
-func wasm_import_constructor_request_options() int32
-
-func MakeRequestOptions() *RequestOptions {
-
- result := wasm_import_constructor_request_options()
- return RequestOptionsFromOwnHandle(int32(uintptr(result)))
-
-}
-
-//go:wasmimport wasi:http/types@0.3.0 [method]request-options.get-connect-timeout
-func wasm_import_method_request_options_get_connect_timeout(arg0 int32, arg1 uintptr)
-
-func (self *RequestOptions) GetConnectTimeout() witTypes.Option[uint64] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 16, 8))
- wasm_import_method_request_options_get_connect_timeout((self).Handle(), returnArea)
- var option witTypes.Option[uint64]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- option = witTypes.None[uint64]()
- case 1:
-
- option = witTypes.Some[uint64](uint64(*(*int64)(unsafe.Add(unsafe.Pointer(returnArea), 8))))
- default:
- panic("unreachable")
- }
- result := option
- return result
-
-}
-
-//go:wasmimport wasi:http/types@0.3.0 [method]request-options.set-connect-timeout
-func wasm_import_method_request_options_set_connect_timeout(arg0 int32, arg1 int32, arg2 int64, arg3 uintptr)
-
-func (self *RequestOptions) SetConnectTimeout(duration witTypes.Option[uint64]) witTypes.Result[witTypes.Unit, RequestOptionsError] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, (5 * 4), 4))
- var option int32
- var option0 int64
- switch duration.Tag() {
- case witTypes.OptionNone:
-
- option = int32(0)
- option0 = 0
- case witTypes.OptionSome:
- payload := duration.Some()
-
- option = int32(1)
- option0 = int64(payload)
- default:
- panic("unreachable")
- }
- wasm_import_method_request_options_set_connect_timeout((self).Handle(), option, option0, returnArea)
- var result witTypes.Result[witTypes.Unit, RequestOptionsError]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- result = witTypes.Ok[witTypes.Unit, RequestOptionsError](witTypes.Unit{})
- case 1:
- var variant RequestOptionsError
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 4))) {
- case 0:
-
- variant = MakeRequestOptionsErrorNotSupported()
-
- case 1:
-
- variant = MakeRequestOptionsErrorImmutable()
-
- case 2:
- var option1 witTypes.Option[string]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (2 * 4)))) {
- case 0:
-
- option1 = witTypes.None[string]()
- case 1:
- value := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (3 * 4)))))), *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (4 * 4))))
-
- option1 = witTypes.Some[string](value)
- default:
- panic("unreachable")
- }
-
- variant = MakeRequestOptionsErrorOther(option1)
-
- default:
- panic("unreachable")
- }
-
- result = witTypes.Err[witTypes.Unit, RequestOptionsError](variant)
- default:
- panic("unreachable")
- }
- result2 := result
- return result2
-
-}
-
-//go:wasmimport wasi:http/types@0.3.0 [method]request-options.get-first-byte-timeout
-func wasm_import_method_request_options_get_first_byte_timeout(arg0 int32, arg1 uintptr)
-
-func (self *RequestOptions) GetFirstByteTimeout() witTypes.Option[uint64] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 16, 8))
- wasm_import_method_request_options_get_first_byte_timeout((self).Handle(), returnArea)
- var option witTypes.Option[uint64]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- option = witTypes.None[uint64]()
- case 1:
-
- option = witTypes.Some[uint64](uint64(*(*int64)(unsafe.Add(unsafe.Pointer(returnArea), 8))))
- default:
- panic("unreachable")
- }
- result := option
- return result
-
-}
-
-//go:wasmimport wasi:http/types@0.3.0 [method]request-options.set-first-byte-timeout
-func wasm_import_method_request_options_set_first_byte_timeout(arg0 int32, arg1 int32, arg2 int64, arg3 uintptr)
-
-func (self *RequestOptions) SetFirstByteTimeout(duration witTypes.Option[uint64]) witTypes.Result[witTypes.Unit, RequestOptionsError] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, (5 * 4), 4))
- var option int32
- var option0 int64
- switch duration.Tag() {
- case witTypes.OptionNone:
-
- option = int32(0)
- option0 = 0
- case witTypes.OptionSome:
- payload := duration.Some()
-
- option = int32(1)
- option0 = int64(payload)
- default:
- panic("unreachable")
- }
- wasm_import_method_request_options_set_first_byte_timeout((self).Handle(), option, option0, returnArea)
- var result witTypes.Result[witTypes.Unit, RequestOptionsError]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- result = witTypes.Ok[witTypes.Unit, RequestOptionsError](witTypes.Unit{})
- case 1:
- var variant RequestOptionsError
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 4))) {
- case 0:
-
- variant = MakeRequestOptionsErrorNotSupported()
-
- case 1:
-
- variant = MakeRequestOptionsErrorImmutable()
-
- case 2:
- var option1 witTypes.Option[string]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (2 * 4)))) {
- case 0:
-
- option1 = witTypes.None[string]()
- case 1:
- value := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (3 * 4)))))), *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (4 * 4))))
-
- option1 = witTypes.Some[string](value)
- default:
- panic("unreachable")
- }
-
- variant = MakeRequestOptionsErrorOther(option1)
-
- default:
- panic("unreachable")
- }
-
- result = witTypes.Err[witTypes.Unit, RequestOptionsError](variant)
- default:
- panic("unreachable")
- }
- result2 := result
- return result2
-
-}
-
-//go:wasmimport wasi:http/types@0.3.0 [method]request-options.get-between-bytes-timeout
-func wasm_import_method_request_options_get_between_bytes_timeout(arg0 int32, arg1 uintptr)
-
-func (self *RequestOptions) GetBetweenBytesTimeout() witTypes.Option[uint64] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 16, 8))
- wasm_import_method_request_options_get_between_bytes_timeout((self).Handle(), returnArea)
- var option witTypes.Option[uint64]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- option = witTypes.None[uint64]()
- case 1:
-
- option = witTypes.Some[uint64](uint64(*(*int64)(unsafe.Add(unsafe.Pointer(returnArea), 8))))
- default:
- panic("unreachable")
- }
- result := option
- return result
-
-}
-
-//go:wasmimport wasi:http/types@0.3.0 [method]request-options.set-between-bytes-timeout
-func wasm_import_method_request_options_set_between_bytes_timeout(arg0 int32, arg1 int32, arg2 int64, arg3 uintptr)
-
-func (self *RequestOptions) SetBetweenBytesTimeout(duration witTypes.Option[uint64]) witTypes.Result[witTypes.Unit, RequestOptionsError] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, (5 * 4), 4))
- var option int32
- var option0 int64
- switch duration.Tag() {
- case witTypes.OptionNone:
-
- option = int32(0)
- option0 = 0
- case witTypes.OptionSome:
- payload := duration.Some()
-
- option = int32(1)
- option0 = int64(payload)
- default:
- panic("unreachable")
- }
- wasm_import_method_request_options_set_between_bytes_timeout((self).Handle(), option, option0, returnArea)
- var result witTypes.Result[witTypes.Unit, RequestOptionsError]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- result = witTypes.Ok[witTypes.Unit, RequestOptionsError](witTypes.Unit{})
- case 1:
- var variant RequestOptionsError
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 4))) {
- case 0:
-
- variant = MakeRequestOptionsErrorNotSupported()
-
- case 1:
-
- variant = MakeRequestOptionsErrorImmutable()
-
- case 2:
- var option1 witTypes.Option[string]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (2 * 4)))) {
- case 0:
-
- option1 = witTypes.None[string]()
- case 1:
- value := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (3 * 4)))))), *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (4 * 4))))
-
- option1 = witTypes.Some[string](value)
- default:
- panic("unreachable")
- }
-
- variant = MakeRequestOptionsErrorOther(option1)
-
- default:
- panic("unreachable")
- }
-
- result = witTypes.Err[witTypes.Unit, RequestOptionsError](variant)
- default:
- panic("unreachable")
- }
- result2 := result
- return result2
-
-}
-
-//go:wasmimport wasi:http/types@0.3.0 [method]request-options.clone
-func wasm_import_method_request_options_clone(arg0 int32) int32
-
-func (self *RequestOptions) Clone() *RequestOptions {
-
- result := wasm_import_method_request_options_clone((self).Handle())
- return RequestOptionsFromOwnHandle(int32(uintptr(result)))
-
-}
-
-//go:wasmimport wasi:http/types@0.3.0 [static]response.new
-func wasm_import_static_response_new(arg0 int32, arg1 int32, arg2 int32, arg3 int32, arg4 uintptr)
-
-func ResponseNew(headers *Fields, contents witTypes.Option[*witTypes.StreamReader[uint8]], trailers *witTypes.FutureReader[witTypes.Result[witTypes.Option[*Fields], ErrorCode]]) (*Response, *witTypes.FutureReader[witTypes.Result[witTypes.Unit, ErrorCode]]) {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 8, 4))
- var option int32
- var option0 int32
- switch contents.Tag() {
- case witTypes.OptionNone:
-
- option = int32(0)
- option0 = 0
- case witTypes.OptionSome:
- payload := contents.Some()
-
- option = int32(1)
- option0 = (payload).TakeHandle()
- default:
- panic("unreachable")
- }
- wasm_import_static_response_new((headers).TakeHandle(), option, option0, (trailers).TakeHandle(), returnArea)
- result := witTypes.Tuple2[*Response, *witTypes.FutureReader[witTypes.Result[witTypes.Unit, ErrorCode]]]{F0: ResponseFromOwnHandle(int32(uintptr(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 0))))), F1: LiftFutureResultUnitErrorCode(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 4)))}
- tuple := result
- return tuple.F0, tuple.F1
-
-}
-
-//go:wasmimport wasi:http/types@0.3.0 [method]response.get-status-code
-func wasm_import_method_response_get_status_code(arg0 int32) int32
-
-func (self *Response) GetStatusCode() uint16 {
-
- result := wasm_import_method_response_get_status_code((self).Handle())
- return uint16(result)
-
-}
-
-//go:wasmimport wasi:http/types@0.3.0 [method]response.set-status-code
-func wasm_import_method_response_set_status_code(arg0 int32, arg1 int32) int32
-
-func (self *Response) SetStatusCode(statusCode uint16) witTypes.Result[witTypes.Unit, witTypes.Unit] {
-
- result := wasm_import_method_response_set_status_code((self).Handle(), int32(statusCode))
- var result0 witTypes.Result[witTypes.Unit, witTypes.Unit]
- switch result {
- case 0:
-
- result0 = witTypes.Ok[witTypes.Unit, witTypes.Unit](witTypes.Unit{})
- case 1:
-
- result0 = witTypes.Err[witTypes.Unit, witTypes.Unit](witTypes.Unit{})
- default:
- panic("unreachable")
- }
- return result0
-
-}
-
-//go:wasmimport wasi:http/types@0.3.0 [method]response.get-headers
-func wasm_import_method_response_get_headers(arg0 int32) int32
-
-func (self *Response) GetHeaders() *Fields {
-
- result := wasm_import_method_response_get_headers((self).Handle())
- return FieldsFromOwnHandle(int32(uintptr(result)))
-
-}
-
-//go:wasmimport wasi:http/types@0.3.0 [static]response.consume-body
-func wasm_import_static_response_consume_body(arg0 int32, arg1 int32, arg2 uintptr)
-
-func ResponseConsumeBody(this *Response, res *witTypes.FutureReader[witTypes.Result[witTypes.Unit, ErrorCode]]) (*witTypes.StreamReader[uint8], *witTypes.FutureReader[witTypes.Result[witTypes.Option[*Fields], ErrorCode]]) {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 8, 4))
- wasm_import_static_response_consume_body((this).TakeHandle(), (res).TakeHandle(), returnArea)
- result := witTypes.Tuple2[*witTypes.StreamReader[uint8], *witTypes.FutureReader[witTypes.Result[witTypes.Option[*Fields], ErrorCode]]]{F0: LiftStreamU8(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 0))), F1: LiftFutureResultOptionFieldsErrorCode(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 4)))}
- tuple := result
- return tuple.F0, tuple.F1
-
-}
diff --git a/imports/wasi_io_0_2_8_error/empty.s b/imports/wasi_io_0_2_8_error/empty.s
deleted file mode 100644
index 308ab60..0000000
--- a/imports/wasi_io_0_2_8_error/empty.s
+++ /dev/null
@@ -1,3 +0,0 @@
-// This file exists for testing this package without WebAssembly,
-// allowing empty function bodies with a //go:wasmimport directive.
-// See https://pkg.go.dev/cmd/compile for more information.
\ No newline at end of file
diff --git a/imports/wasi_io_0_2_8_error/wit_bindings.go b/imports/wasi_io_0_2_8_error/wit_bindings.go
deleted file mode 100644
index 30f103c..0000000
--- a/imports/wasi_io_0_2_8_error/wit_bindings.go
+++ /dev/null
@@ -1,102 +0,0 @@
-// Generated by `wit-bindgen` 0.62.0. DO NOT EDIT!
-//
-// This code was generated from the following packages:
-// wasi:io@0.2.8
-// wasi:clocks@0.2.8
-// wasi:filesystem@0.2.8
-// wasi:sockets@0.2.8
-// wasi:random@0.2.8
-// wasi:cli@0.2.8
-// wasi:config@0.2.0-rc.1
-// wasi:logging@0.1.0-draft
-// wasi:http@0.2.8
-// wasi:clocks@0.3.0
-// wasi:filesystem@0.3.0
-// wasi:sockets@0.3.0
-// wasi:random@0.3.0
-// wasi:cli@0.3.0
-// wasi:http@0.3.0
-// bytecodealliance:pkg@0.1.0
-
-package wasi_io_0_2_8_error
-
-import (
- witRuntime "go.bytecodealliance.org/pkg/wit/runtime"
- "runtime"
- "unsafe"
-)
-
-//go:wasmimport wasi:io/error@0.2.8 [resource-drop]error
-func resourceDropError(handle int32)
-
-// A resource which represents some error information.
-//
-// The only method provided by this resource is `to-debug-string`,
-// which provides some human-readable information about the error.
-//
-// In the `wasi:io` package, this resource is returned through the
-// `wasi:io/streams/stream-error` type.
-//
-// To provide more specific error information, other interfaces may
-// offer functions to "downcast" this error into more specific types. For example,
-// errors returned from streams derived from filesystem types can be described using
-// the filesystem's own error-code type. This is done using the function
-// `wasi:filesystem/types/filesystem-error-code`, which takes a `borrow`
-// parameter and returns an `option`.
-//
-// The set of functions which can "downcast" an `error` into a more
-// concrete type is open.
-type Error struct {
- handle *witRuntime.Handle
-}
-
-func (self *Error) TakeHandle() int32 {
- return self.handle.Take()
-}
-
-func (self *Error) SetHandle(handle int32) {
- self.handle.Set(handle)
-}
-
-func (self *Error) Handle() int32 {
- return self.handle.Use()
-}
-
-func (self *Error) Drop() {
- handle := self.handle.TakeOrNil()
- if handle != 0 {
- resourceDropError(handle)
- }
-}
-
-func ErrorFromOwnHandle(handleValue int32) *Error {
- handle := witRuntime.MakeHandle(handleValue)
- value := &Error{handle}
- runtime.AddCleanup(value, func(_ int) {
- handleValue := handle.TakeOrNil()
- if handleValue != 0 {
- resourceDropError(handleValue)
- }
- }, 0)
- return value
-}
-
-func ErrorFromBorrowHandle(handleValue int32) *Error {
- handle := witRuntime.MakeHandle(handleValue)
- return &Error{handle}
-}
-
-//go:wasmimport wasi:io/error@0.2.8 [method]error.to-debug-string
-func wasm_import_method_error_to_debug_string(arg0 int32, arg1 uintptr)
-
-func (self *Error) ToDebugString() string {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, (2 * 4), 4))
- wasm_import_method_error_to_debug_string((self).Handle(), returnArea)
- value := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))))), *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 4)))
- result := value
- return result
-
-}
diff --git a/imports/wasi_io_0_2_8_poll/empty.s b/imports/wasi_io_0_2_8_poll/empty.s
deleted file mode 100644
index 308ab60..0000000
--- a/imports/wasi_io_0_2_8_poll/empty.s
+++ /dev/null
@@ -1,3 +0,0 @@
-// This file exists for testing this package without WebAssembly,
-// allowing empty function bodies with a //go:wasmimport directive.
-// See https://pkg.go.dev/cmd/compile for more information.
\ No newline at end of file
diff --git a/imports/wasi_io_0_2_8_poll/wit_bindings.go b/imports/wasi_io_0_2_8_poll/wit_bindings.go
deleted file mode 100644
index aad87b4..0000000
--- a/imports/wasi_io_0_2_8_poll/wit_bindings.go
+++ /dev/null
@@ -1,114 +0,0 @@
-// Generated by `wit-bindgen` 0.62.0. DO NOT EDIT!
-//
-// This code was generated from the following packages:
-// wasi:io@0.2.8
-// wasi:clocks@0.2.8
-// wasi:filesystem@0.2.8
-// wasi:sockets@0.2.8
-// wasi:random@0.2.8
-// wasi:cli@0.2.8
-// wasi:config@0.2.0-rc.1
-// wasi:logging@0.1.0-draft
-// wasi:http@0.2.8
-// wasi:clocks@0.3.0
-// wasi:filesystem@0.3.0
-// wasi:sockets@0.3.0
-// wasi:random@0.3.0
-// wasi:cli@0.3.0
-// wasi:http@0.3.0
-// bytecodealliance:pkg@0.1.0
-
-package wasi_io_0_2_8_poll
-
-import (
- witRuntime "go.bytecodealliance.org/pkg/wit/runtime"
- "runtime"
- "unsafe"
-)
-
-//go:wasmimport wasi:io/poll@0.2.8 [resource-drop]pollable
-func resourceDropPollable(handle int32)
-
-// `pollable` represents a single I/O event which may be ready, or not.
-type Pollable struct {
- handle *witRuntime.Handle
-}
-
-func (self *Pollable) TakeHandle() int32 {
- return self.handle.Take()
-}
-
-func (self *Pollable) SetHandle(handle int32) {
- self.handle.Set(handle)
-}
-
-func (self *Pollable) Handle() int32 {
- return self.handle.Use()
-}
-
-func (self *Pollable) Drop() {
- handle := self.handle.TakeOrNil()
- if handle != 0 {
- resourceDropPollable(handle)
- }
-}
-
-func PollableFromOwnHandle(handleValue int32) *Pollable {
- handle := witRuntime.MakeHandle(handleValue)
- value := &Pollable{handle}
- runtime.AddCleanup(value, func(_ int) {
- handleValue := handle.TakeOrNil()
- if handleValue != 0 {
- resourceDropPollable(handleValue)
- }
- }, 0)
- return value
-}
-
-func PollableFromBorrowHandle(handleValue int32) *Pollable {
- handle := witRuntime.MakeHandle(handleValue)
- return &Pollable{handle}
-}
-
-//go:wasmimport wasi:io/poll@0.2.8 [method]pollable.ready
-func wasm_import_method_pollable_ready(arg0 int32) int32
-
-func (self *Pollable) Ready() bool {
-
- result := wasm_import_method_pollable_ready((self).Handle())
- return (result != 0)
-
-}
-
-//go:wasmimport wasi:io/poll@0.2.8 [method]pollable.block
-func wasm_import_method_pollable_block(arg0 int32)
-
-func (self *Pollable) Block() {
-
- wasm_import_method_pollable_block((self).Handle())
-
-}
-
-//go:wasmimport wasi:io/poll@0.2.8 poll
-func wasm_import_poll(arg0 uintptr, arg1 uint32, arg2 uintptr)
-
-func Poll(in []*Pollable) []uint32 {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, (2 * 4), 4))
- slice := in
- length := uint32(len(slice))
- result := witRuntime.Allocate(pinner, uintptr(length*4), 4)
- for index, element := range slice {
- base := unsafe.Add(result, index*4)
- *(*int32)(unsafe.Add(unsafe.Pointer(base), 0)) = (element).Handle()
-
- }
-
- wasm_import_poll(uintptr(result), length, returnArea)
- value := unsafe.Slice((*uint32)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))))), *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 4)))
- result0 := value
- return result0
-
-}
diff --git a/imports/wasi_io_0_2_8_streams/empty.s b/imports/wasi_io_0_2_8_streams/empty.s
deleted file mode 100644
index 308ab60..0000000
--- a/imports/wasi_io_0_2_8_streams/empty.s
+++ /dev/null
@@ -1,3 +0,0 @@
-// This file exists for testing this package without WebAssembly,
-// allowing empty function bodies with a //go:wasmimport directive.
-// See https://pkg.go.dev/cmd/compile for more information.
\ No newline at end of file
diff --git a/imports/wasi_io_0_2_8_streams/wit_bindings.go b/imports/wasi_io_0_2_8_streams/wit_bindings.go
deleted file mode 100644
index 99c34b1..0000000
--- a/imports/wasi_io_0_2_8_streams/wit_bindings.go
+++ /dev/null
@@ -1,697 +0,0 @@
-// Generated by `wit-bindgen` 0.62.0. DO NOT EDIT!
-//
-// This code was generated from the following packages:
-// wasi:io@0.2.8
-// wasi:clocks@0.2.8
-// wasi:filesystem@0.2.8
-// wasi:sockets@0.2.8
-// wasi:random@0.2.8
-// wasi:cli@0.2.8
-// wasi:config@0.2.0-rc.1
-// wasi:logging@0.1.0-draft
-// wasi:http@0.2.8
-// wasi:clocks@0.3.0
-// wasi:filesystem@0.3.0
-// wasi:sockets@0.3.0
-// wasi:random@0.3.0
-// wasi:cli@0.3.0
-// wasi:http@0.3.0
-// bytecodealliance:pkg@0.1.0
-
-package wasi_io_0_2_8_streams
-
-import (
- "go.bytecodealliance.org/pkg/imports/wasi_io_0_2_8_error"
- "go.bytecodealliance.org/pkg/imports/wasi_io_0_2_8_poll"
- witRuntime "go.bytecodealliance.org/pkg/wit/runtime"
- witTypes "go.bytecodealliance.org/pkg/wit/types"
- "runtime"
- "unsafe"
-)
-
-type Error = wasi_io_0_2_8_error.Error
-type Pollable = wasi_io_0_2_8_poll.Pollable
-
-const (
- // The last operation (a write or flush) failed before completion.
- //
- // More information is available in the `error` payload.
- //
- // After this, the stream will be closed. All future operations return
- // `stream-error::closed`.
- StreamError_LastOperationFailed uint8 = 0
- // The stream is closed: no more input will be accepted by the
- // stream. A closed output-stream will return this error on all
- // future operations.
- StreamError_Closed uint8 = 1
-)
-
-// An error for input-stream and output-stream operations.
-type StreamError struct {
- tag uint8
- value any
-}
-
-func (self StreamError) Tag() uint8 {
- return self.tag
-}
-
-func (self StreamError) LastOperationFailed() *wasi_io_0_2_8_error.Error {
- if self.tag != StreamError_LastOperationFailed {
- panic("tag mismatch")
- }
- return self.value.(*wasi_io_0_2_8_error.Error)
-}
-
-func MakeStreamErrorLastOperationFailed(value *wasi_io_0_2_8_error.Error) StreamError {
- return StreamError{StreamError_LastOperationFailed, value}
-}
-func MakeStreamErrorClosed() StreamError {
- return StreamError{StreamError_Closed, nil}
-}
-
-//go:wasmimport wasi:io/streams@0.2.8 [resource-drop]input-stream
-func resourceDropInputStream(handle int32)
-
-// An input bytestream.
-//
-// `input-stream`s are *non-blocking* to the extent practical on underlying
-// platforms. I/O operations always return promptly; if fewer bytes are
-// promptly available than requested, they return the number of bytes promptly
-// available, which could even be zero. To wait for data to be available,
-// use the `subscribe` function to obtain a `pollable` which can be polled
-// for using `wasi:io/poll`.
-type InputStream struct {
- handle *witRuntime.Handle
-}
-
-func (self *InputStream) TakeHandle() int32 {
- return self.handle.Take()
-}
-
-func (self *InputStream) SetHandle(handle int32) {
- self.handle.Set(handle)
-}
-
-func (self *InputStream) Handle() int32 {
- return self.handle.Use()
-}
-
-func (self *InputStream) Drop() {
- handle := self.handle.TakeOrNil()
- if handle != 0 {
- resourceDropInputStream(handle)
- }
-}
-
-func InputStreamFromOwnHandle(handleValue int32) *InputStream {
- handle := witRuntime.MakeHandle(handleValue)
- value := &InputStream{handle}
- runtime.AddCleanup(value, func(_ int) {
- handleValue := handle.TakeOrNil()
- if handleValue != 0 {
- resourceDropInputStream(handleValue)
- }
- }, 0)
- return value
-}
-
-func InputStreamFromBorrowHandle(handleValue int32) *InputStream {
- handle := witRuntime.MakeHandle(handleValue)
- return &InputStream{handle}
-}
-
-//go:wasmimport wasi:io/streams@0.2.8 [resource-drop]output-stream
-func resourceDropOutputStream(handle int32)
-
-// An output bytestream.
-//
-// `output-stream`s are *non-blocking* to the extent practical on
-// underlying platforms. Except where specified otherwise, I/O operations also
-// always return promptly, after the number of bytes that can be written
-// promptly, which could even be zero. To wait for the stream to be ready to
-// accept data, the `subscribe` function to obtain a `pollable` which can be
-// polled for using `wasi:io/poll`.
-//
-// Dropping an `output-stream` while there's still an active write in
-// progress may result in the data being lost. Before dropping the stream,
-// be sure to fully flush your writes.
-type OutputStream struct {
- handle *witRuntime.Handle
-}
-
-func (self *OutputStream) TakeHandle() int32 {
- return self.handle.Take()
-}
-
-func (self *OutputStream) SetHandle(handle int32) {
- self.handle.Set(handle)
-}
-
-func (self *OutputStream) Handle() int32 {
- return self.handle.Use()
-}
-
-func (self *OutputStream) Drop() {
- handle := self.handle.TakeOrNil()
- if handle != 0 {
- resourceDropOutputStream(handle)
- }
-}
-
-func OutputStreamFromOwnHandle(handleValue int32) *OutputStream {
- handle := witRuntime.MakeHandle(handleValue)
- value := &OutputStream{handle}
- runtime.AddCleanup(value, func(_ int) {
- handleValue := handle.TakeOrNil()
- if handleValue != 0 {
- resourceDropOutputStream(handleValue)
- }
- }, 0)
- return value
-}
-
-func OutputStreamFromBorrowHandle(handleValue int32) *OutputStream {
- handle := witRuntime.MakeHandle(handleValue)
- return &OutputStream{handle}
-}
-
-//go:wasmimport wasi:io/streams@0.2.8 [method]input-stream.read
-func wasm_import_method_input_stream_read(arg0 int32, arg1 int64, arg2 uintptr)
-
-func (self *InputStream) Read(len uint64) witTypes.Result[[]uint8, StreamError] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, (3 * 4), 4))
- wasm_import_method_input_stream_read((self).Handle(), int64(len), returnArea)
- var result witTypes.Result[[]uint8, StreamError]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
- value := unsafe.Slice((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 4))))), *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (2 * 4))))
-
- result = witTypes.Ok[[]uint8, StreamError](value)
- case 1:
- var variant StreamError
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 4))) {
- case 0:
-
- variant = MakeStreamErrorLastOperationFailed(wasi_io_0_2_8_error.ErrorFromOwnHandle(int32(uintptr(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), (4 + 1*4)))))))
-
- case 1:
-
- variant = MakeStreamErrorClosed()
-
- default:
- panic("unreachable")
- }
-
- result = witTypes.Err[[]uint8, StreamError](variant)
- default:
- panic("unreachable")
- }
- result0 := result
- return result0
-
-}
-
-//go:wasmimport wasi:io/streams@0.2.8 [method]input-stream.blocking-read
-func wasm_import_method_input_stream_blocking_read(arg0 int32, arg1 int64, arg2 uintptr)
-
-func (self *InputStream) BlockingRead(len uint64) witTypes.Result[[]uint8, StreamError] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, (3 * 4), 4))
- wasm_import_method_input_stream_blocking_read((self).Handle(), int64(len), returnArea)
- var result witTypes.Result[[]uint8, StreamError]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
- value := unsafe.Slice((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 4))))), *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (2 * 4))))
-
- result = witTypes.Ok[[]uint8, StreamError](value)
- case 1:
- var variant StreamError
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 4))) {
- case 0:
-
- variant = MakeStreamErrorLastOperationFailed(wasi_io_0_2_8_error.ErrorFromOwnHandle(int32(uintptr(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), (4 + 1*4)))))))
-
- case 1:
-
- variant = MakeStreamErrorClosed()
-
- default:
- panic("unreachable")
- }
-
- result = witTypes.Err[[]uint8, StreamError](variant)
- default:
- panic("unreachable")
- }
- result0 := result
- return result0
-
-}
-
-//go:wasmimport wasi:io/streams@0.2.8 [method]input-stream.skip
-func wasm_import_method_input_stream_skip(arg0 int32, arg1 int64, arg2 uintptr)
-
-func (self *InputStream) Skip(len uint64) witTypes.Result[uint64, StreamError] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 16, 8))
- wasm_import_method_input_stream_skip((self).Handle(), int64(len), returnArea)
- var result witTypes.Result[uint64, StreamError]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- result = witTypes.Ok[uint64, StreamError](uint64(*(*int64)(unsafe.Add(unsafe.Pointer(returnArea), 8))))
- case 1:
- var variant StreamError
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 8))) {
- case 0:
-
- variant = MakeStreamErrorLastOperationFailed(wasi_io_0_2_8_error.ErrorFromOwnHandle(int32(uintptr(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 12))))))
-
- case 1:
-
- variant = MakeStreamErrorClosed()
-
- default:
- panic("unreachable")
- }
-
- result = witTypes.Err[uint64, StreamError](variant)
- default:
- panic("unreachable")
- }
- result0 := result
- return result0
-
-}
-
-//go:wasmimport wasi:io/streams@0.2.8 [method]input-stream.blocking-skip
-func wasm_import_method_input_stream_blocking_skip(arg0 int32, arg1 int64, arg2 uintptr)
-
-func (self *InputStream) BlockingSkip(len uint64) witTypes.Result[uint64, StreamError] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 16, 8))
- wasm_import_method_input_stream_blocking_skip((self).Handle(), int64(len), returnArea)
- var result witTypes.Result[uint64, StreamError]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- result = witTypes.Ok[uint64, StreamError](uint64(*(*int64)(unsafe.Add(unsafe.Pointer(returnArea), 8))))
- case 1:
- var variant StreamError
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 8))) {
- case 0:
-
- variant = MakeStreamErrorLastOperationFailed(wasi_io_0_2_8_error.ErrorFromOwnHandle(int32(uintptr(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 12))))))
-
- case 1:
-
- variant = MakeStreamErrorClosed()
-
- default:
- panic("unreachable")
- }
-
- result = witTypes.Err[uint64, StreamError](variant)
- default:
- panic("unreachable")
- }
- result0 := result
- return result0
-
-}
-
-//go:wasmimport wasi:io/streams@0.2.8 [method]input-stream.subscribe
-func wasm_import_method_input_stream_subscribe(arg0 int32) int32
-
-func (self *InputStream) Subscribe() *wasi_io_0_2_8_poll.Pollable {
-
- result := wasm_import_method_input_stream_subscribe((self).Handle())
- return wasi_io_0_2_8_poll.PollableFromOwnHandle(int32(uintptr(result)))
-
-}
-
-//go:wasmimport wasi:io/streams@0.2.8 [method]output-stream.check-write
-func wasm_import_method_output_stream_check_write(arg0 int32, arg1 uintptr)
-
-func (self *OutputStream) CheckWrite() witTypes.Result[uint64, StreamError] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 16, 8))
- wasm_import_method_output_stream_check_write((self).Handle(), returnArea)
- var result witTypes.Result[uint64, StreamError]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- result = witTypes.Ok[uint64, StreamError](uint64(*(*int64)(unsafe.Add(unsafe.Pointer(returnArea), 8))))
- case 1:
- var variant StreamError
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 8))) {
- case 0:
-
- variant = MakeStreamErrorLastOperationFailed(wasi_io_0_2_8_error.ErrorFromOwnHandle(int32(uintptr(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 12))))))
-
- case 1:
-
- variant = MakeStreamErrorClosed()
-
- default:
- panic("unreachable")
- }
-
- result = witTypes.Err[uint64, StreamError](variant)
- default:
- panic("unreachable")
- }
- result0 := result
- return result0
-
-}
-
-//go:wasmimport wasi:io/streams@0.2.8 [method]output-stream.write
-func wasm_import_method_output_stream_write(arg0 int32, arg1 uintptr, arg2 uint32, arg3 uintptr)
-
-func (self *OutputStream) Write(contents []uint8) witTypes.Result[witTypes.Unit, StreamError] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 12, 4))
- data := unsafe.Pointer(unsafe.SliceData(contents))
- pinner.Pin(data)
- wasm_import_method_output_stream_write((self).Handle(), uintptr(data), uint32(len(contents)), returnArea)
- var result witTypes.Result[witTypes.Unit, StreamError]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- result = witTypes.Ok[witTypes.Unit, StreamError](witTypes.Unit{})
- case 1:
- var variant StreamError
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 4))) {
- case 0:
-
- variant = MakeStreamErrorLastOperationFailed(wasi_io_0_2_8_error.ErrorFromOwnHandle(int32(uintptr(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 8))))))
-
- case 1:
-
- variant = MakeStreamErrorClosed()
-
- default:
- panic("unreachable")
- }
-
- result = witTypes.Err[witTypes.Unit, StreamError](variant)
- default:
- panic("unreachable")
- }
- result0 := result
- return result0
-
-}
-
-//go:wasmimport wasi:io/streams@0.2.8 [method]output-stream.blocking-write-and-flush
-func wasm_import_method_output_stream_blocking_write_and_flush(arg0 int32, arg1 uintptr, arg2 uint32, arg3 uintptr)
-
-func (self *OutputStream) BlockingWriteAndFlush(contents []uint8) witTypes.Result[witTypes.Unit, StreamError] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 12, 4))
- data := unsafe.Pointer(unsafe.SliceData(contents))
- pinner.Pin(data)
- wasm_import_method_output_stream_blocking_write_and_flush((self).Handle(), uintptr(data), uint32(len(contents)), returnArea)
- var result witTypes.Result[witTypes.Unit, StreamError]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- result = witTypes.Ok[witTypes.Unit, StreamError](witTypes.Unit{})
- case 1:
- var variant StreamError
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 4))) {
- case 0:
-
- variant = MakeStreamErrorLastOperationFailed(wasi_io_0_2_8_error.ErrorFromOwnHandle(int32(uintptr(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 8))))))
-
- case 1:
-
- variant = MakeStreamErrorClosed()
-
- default:
- panic("unreachable")
- }
-
- result = witTypes.Err[witTypes.Unit, StreamError](variant)
- default:
- panic("unreachable")
- }
- result0 := result
- return result0
-
-}
-
-//go:wasmimport wasi:io/streams@0.2.8 [method]output-stream.flush
-func wasm_import_method_output_stream_flush(arg0 int32, arg1 uintptr)
-
-func (self *OutputStream) Flush() witTypes.Result[witTypes.Unit, StreamError] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 12, 4))
- wasm_import_method_output_stream_flush((self).Handle(), returnArea)
- var result witTypes.Result[witTypes.Unit, StreamError]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- result = witTypes.Ok[witTypes.Unit, StreamError](witTypes.Unit{})
- case 1:
- var variant StreamError
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 4))) {
- case 0:
-
- variant = MakeStreamErrorLastOperationFailed(wasi_io_0_2_8_error.ErrorFromOwnHandle(int32(uintptr(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 8))))))
-
- case 1:
-
- variant = MakeStreamErrorClosed()
-
- default:
- panic("unreachable")
- }
-
- result = witTypes.Err[witTypes.Unit, StreamError](variant)
- default:
- panic("unreachable")
- }
- result0 := result
- return result0
-
-}
-
-//go:wasmimport wasi:io/streams@0.2.8 [method]output-stream.blocking-flush
-func wasm_import_method_output_stream_blocking_flush(arg0 int32, arg1 uintptr)
-
-func (self *OutputStream) BlockingFlush() witTypes.Result[witTypes.Unit, StreamError] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 12, 4))
- wasm_import_method_output_stream_blocking_flush((self).Handle(), returnArea)
- var result witTypes.Result[witTypes.Unit, StreamError]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- result = witTypes.Ok[witTypes.Unit, StreamError](witTypes.Unit{})
- case 1:
- var variant StreamError
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 4))) {
- case 0:
-
- variant = MakeStreamErrorLastOperationFailed(wasi_io_0_2_8_error.ErrorFromOwnHandle(int32(uintptr(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 8))))))
-
- case 1:
-
- variant = MakeStreamErrorClosed()
-
- default:
- panic("unreachable")
- }
-
- result = witTypes.Err[witTypes.Unit, StreamError](variant)
- default:
- panic("unreachable")
- }
- result0 := result
- return result0
-
-}
-
-//go:wasmimport wasi:io/streams@0.2.8 [method]output-stream.subscribe
-func wasm_import_method_output_stream_subscribe(arg0 int32) int32
-
-func (self *OutputStream) Subscribe() *wasi_io_0_2_8_poll.Pollable {
-
- result := wasm_import_method_output_stream_subscribe((self).Handle())
- return wasi_io_0_2_8_poll.PollableFromOwnHandle(int32(uintptr(result)))
-
-}
-
-//go:wasmimport wasi:io/streams@0.2.8 [method]output-stream.write-zeroes
-func wasm_import_method_output_stream_write_zeroes(arg0 int32, arg1 int64, arg2 uintptr)
-
-func (self *OutputStream) WriteZeroes(len uint64) witTypes.Result[witTypes.Unit, StreamError] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 12, 4))
- wasm_import_method_output_stream_write_zeroes((self).Handle(), int64(len), returnArea)
- var result witTypes.Result[witTypes.Unit, StreamError]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- result = witTypes.Ok[witTypes.Unit, StreamError](witTypes.Unit{})
- case 1:
- var variant StreamError
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 4))) {
- case 0:
-
- variant = MakeStreamErrorLastOperationFailed(wasi_io_0_2_8_error.ErrorFromOwnHandle(int32(uintptr(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 8))))))
-
- case 1:
-
- variant = MakeStreamErrorClosed()
-
- default:
- panic("unreachable")
- }
-
- result = witTypes.Err[witTypes.Unit, StreamError](variant)
- default:
- panic("unreachable")
- }
- result0 := result
- return result0
-
-}
-
-//go:wasmimport wasi:io/streams@0.2.8 [method]output-stream.blocking-write-zeroes-and-flush
-func wasm_import_method_output_stream_blocking_write_zeroes_and_flush(arg0 int32, arg1 int64, arg2 uintptr)
-
-func (self *OutputStream) BlockingWriteZeroesAndFlush(len uint64) witTypes.Result[witTypes.Unit, StreamError] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 12, 4))
- wasm_import_method_output_stream_blocking_write_zeroes_and_flush((self).Handle(), int64(len), returnArea)
- var result witTypes.Result[witTypes.Unit, StreamError]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- result = witTypes.Ok[witTypes.Unit, StreamError](witTypes.Unit{})
- case 1:
- var variant StreamError
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 4))) {
- case 0:
-
- variant = MakeStreamErrorLastOperationFailed(wasi_io_0_2_8_error.ErrorFromOwnHandle(int32(uintptr(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 8))))))
-
- case 1:
-
- variant = MakeStreamErrorClosed()
-
- default:
- panic("unreachable")
- }
-
- result = witTypes.Err[witTypes.Unit, StreamError](variant)
- default:
- panic("unreachable")
- }
- result0 := result
- return result0
-
-}
-
-//go:wasmimport wasi:io/streams@0.2.8 [method]output-stream.splice
-func wasm_import_method_output_stream_splice(arg0 int32, arg1 int32, arg2 int64, arg3 uintptr)
-
-func (self *OutputStream) Splice(src *InputStream, len uint64) witTypes.Result[uint64, StreamError] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 16, 8))
- wasm_import_method_output_stream_splice((self).Handle(), (src).Handle(), int64(len), returnArea)
- var result witTypes.Result[uint64, StreamError]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- result = witTypes.Ok[uint64, StreamError](uint64(*(*int64)(unsafe.Add(unsafe.Pointer(returnArea), 8))))
- case 1:
- var variant StreamError
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 8))) {
- case 0:
-
- variant = MakeStreamErrorLastOperationFailed(wasi_io_0_2_8_error.ErrorFromOwnHandle(int32(uintptr(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 12))))))
-
- case 1:
-
- variant = MakeStreamErrorClosed()
-
- default:
- panic("unreachable")
- }
-
- result = witTypes.Err[uint64, StreamError](variant)
- default:
- panic("unreachable")
- }
- result0 := result
- return result0
-
-}
-
-//go:wasmimport wasi:io/streams@0.2.8 [method]output-stream.blocking-splice
-func wasm_import_method_output_stream_blocking_splice(arg0 int32, arg1 int32, arg2 int64, arg3 uintptr)
-
-func (self *OutputStream) BlockingSplice(src *InputStream, len uint64) witTypes.Result[uint64, StreamError] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 16, 8))
- wasm_import_method_output_stream_blocking_splice((self).Handle(), (src).Handle(), int64(len), returnArea)
- var result witTypes.Result[uint64, StreamError]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- result = witTypes.Ok[uint64, StreamError](uint64(*(*int64)(unsafe.Add(unsafe.Pointer(returnArea), 8))))
- case 1:
- var variant StreamError
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 8))) {
- case 0:
-
- variant = MakeStreamErrorLastOperationFailed(wasi_io_0_2_8_error.ErrorFromOwnHandle(int32(uintptr(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 12))))))
-
- case 1:
-
- variant = MakeStreamErrorClosed()
-
- default:
- panic("unreachable")
- }
-
- result = witTypes.Err[uint64, StreamError](variant)
- default:
- panic("unreachable")
- }
- result0 := result
- return result0
-
-}
diff --git a/imports/wasi_logging_0_1_0_draft_logging/empty.s b/imports/wasi_logging_0_1_0_draft_logging/empty.s
deleted file mode 100644
index 308ab60..0000000
--- a/imports/wasi_logging_0_1_0_draft_logging/empty.s
+++ /dev/null
@@ -1,3 +0,0 @@
-// This file exists for testing this package without WebAssembly,
-// allowing empty function bodies with a //go:wasmimport directive.
-// See https://pkg.go.dev/cmd/compile for more information.
\ No newline at end of file
diff --git a/imports/wasi_logging_0_1_0_draft_logging/wit_bindings.go b/imports/wasi_logging_0_1_0_draft_logging/wit_bindings.go
deleted file mode 100644
index 1c39afc..0000000
--- a/imports/wasi_logging_0_1_0_draft_logging/wit_bindings.go
+++ /dev/null
@@ -1,62 +0,0 @@
-// Generated by `wit-bindgen` 0.62.0. DO NOT EDIT!
-//
-// This code was generated from the following packages:
-// wasi:io@0.2.8
-// wasi:clocks@0.2.8
-// wasi:filesystem@0.2.8
-// wasi:sockets@0.2.8
-// wasi:random@0.2.8
-// wasi:cli@0.2.8
-// wasi:config@0.2.0-rc.1
-// wasi:logging@0.1.0-draft
-// wasi:http@0.2.8
-// wasi:clocks@0.3.0
-// wasi:filesystem@0.3.0
-// wasi:sockets@0.3.0
-// wasi:random@0.3.0
-// wasi:cli@0.3.0
-// wasi:http@0.3.0
-// bytecodealliance:pkg@0.1.0
-
-package wasi_logging_0_1_0_draft_logging
-
-import (
- "runtime"
- "unsafe"
-)
-
-const (
- // Describes messages about the values of variables and the flow of
- // control within a program.
- Level_Trace uint8 = 0
- // Describes messages likely to be of interest to someone debugging a
- // program.
- Level_Debug uint8 = 1
- // Describes messages likely to be of interest to someone monitoring a
- // program.
- Level_Info uint8 = 2
- // Describes messages indicating hazardous situations.
- Level_Warn uint8 = 3
- // Describes messages indicating serious errors.
- Level_Error uint8 = 4
- // Describes messages indicating fatal errors.
- Level_Critical uint8 = 5
-)
-
-// A log level, describing a kind of message.
-type Level = uint8
-
-//go:wasmimport wasi:logging/logging@0.1.0-draft log
-func wasm_import_log(arg0 int32, arg1 uintptr, arg2 uint32, arg3 uintptr, arg4 uint32)
-
-func Log(level Level, context string, message string) {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- utf8 := unsafe.Pointer(unsafe.StringData(context))
- pinner.Pin(utf8)
- utf80 := unsafe.Pointer(unsafe.StringData(message))
- pinner.Pin(utf80)
- wasm_import_log(int32(level), uintptr(utf8), uint32(len(context)), uintptr(utf80), uint32(len(message)))
-
-}
diff --git a/imports/wasi_random_0_2_8_insecure/empty.s b/imports/wasi_random_0_2_8_insecure/empty.s
deleted file mode 100644
index 308ab60..0000000
--- a/imports/wasi_random_0_2_8_insecure/empty.s
+++ /dev/null
@@ -1,3 +0,0 @@
-// This file exists for testing this package without WebAssembly,
-// allowing empty function bodies with a //go:wasmimport directive.
-// See https://pkg.go.dev/cmd/compile for more information.
\ No newline at end of file
diff --git a/imports/wasi_random_0_2_8_insecure/wit_bindings.go b/imports/wasi_random_0_2_8_insecure/wit_bindings.go
deleted file mode 100644
index 1d36955..0000000
--- a/imports/wasi_random_0_2_8_insecure/wit_bindings.go
+++ /dev/null
@@ -1,52 +0,0 @@
-// Generated by `wit-bindgen` 0.62.0. DO NOT EDIT!
-//
-// This code was generated from the following packages:
-// wasi:io@0.2.8
-// wasi:clocks@0.2.8
-// wasi:filesystem@0.2.8
-// wasi:sockets@0.2.8
-// wasi:random@0.2.8
-// wasi:cli@0.2.8
-// wasi:config@0.2.0-rc.1
-// wasi:logging@0.1.0-draft
-// wasi:http@0.2.8
-// wasi:clocks@0.3.0
-// wasi:filesystem@0.3.0
-// wasi:sockets@0.3.0
-// wasi:random@0.3.0
-// wasi:cli@0.3.0
-// wasi:http@0.3.0
-// bytecodealliance:pkg@0.1.0
-
-package wasi_random_0_2_8_insecure
-
-import (
- witRuntime "go.bytecodealliance.org/pkg/wit/runtime"
- "runtime"
- "unsafe"
-)
-
-//go:wasmimport wasi:random/insecure@0.2.8 get-insecure-random-bytes
-func wasm_import_get_insecure_random_bytes(arg0 int64, arg1 uintptr)
-
-func GetInsecureRandomBytes(len uint64) []uint8 {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, (2 * 4), 4))
- wasm_import_get_insecure_random_bytes(int64(len), returnArea)
- value := unsafe.Slice((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))))), *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 4)))
- result := value
- return result
-
-}
-
-//go:wasmimport wasi:random/insecure@0.2.8 get-insecure-random-u64
-func wasm_import_get_insecure_random_u64() int64
-
-func GetInsecureRandomU64() uint64 {
-
- result := wasm_import_get_insecure_random_u64()
- return uint64(result)
-
-}
diff --git a/imports/wasi_random_0_2_8_insecure_seed/empty.s b/imports/wasi_random_0_2_8_insecure_seed/empty.s
deleted file mode 100644
index 308ab60..0000000
--- a/imports/wasi_random_0_2_8_insecure_seed/empty.s
+++ /dev/null
@@ -1,3 +0,0 @@
-// This file exists for testing this package without WebAssembly,
-// allowing empty function bodies with a //go:wasmimport directive.
-// See https://pkg.go.dev/cmd/compile for more information.
\ No newline at end of file
diff --git a/imports/wasi_random_0_2_8_insecure_seed/wit_bindings.go b/imports/wasi_random_0_2_8_insecure_seed/wit_bindings.go
deleted file mode 100644
index 7fe57c8..0000000
--- a/imports/wasi_random_0_2_8_insecure_seed/wit_bindings.go
+++ /dev/null
@@ -1,43 +0,0 @@
-// Generated by `wit-bindgen` 0.62.0. DO NOT EDIT!
-//
-// This code was generated from the following packages:
-// wasi:io@0.2.8
-// wasi:clocks@0.2.8
-// wasi:filesystem@0.2.8
-// wasi:sockets@0.2.8
-// wasi:random@0.2.8
-// wasi:cli@0.2.8
-// wasi:config@0.2.0-rc.1
-// wasi:logging@0.1.0-draft
-// wasi:http@0.2.8
-// wasi:clocks@0.3.0
-// wasi:filesystem@0.3.0
-// wasi:sockets@0.3.0
-// wasi:random@0.3.0
-// wasi:cli@0.3.0
-// wasi:http@0.3.0
-// bytecodealliance:pkg@0.1.0
-
-package wasi_random_0_2_8_insecure_seed
-
-import (
- witRuntime "go.bytecodealliance.org/pkg/wit/runtime"
- witTypes "go.bytecodealliance.org/pkg/wit/types"
- "runtime"
- "unsafe"
-)
-
-//go:wasmimport wasi:random/insecure-seed@0.2.8 insecure-seed
-func wasm_import_insecure_seed(arg0 uintptr)
-
-func InsecureSeed() (uint64, uint64) {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 16, 8))
- wasm_import_insecure_seed(returnArea)
- result := witTypes.Tuple2[uint64, uint64]{F0: uint64(*(*int64)(unsafe.Add(unsafe.Pointer(returnArea), 0))), F1: uint64(*(*int64)(unsafe.Add(unsafe.Pointer(returnArea), 8)))}
- tuple := result
- return tuple.F0, tuple.F1
-
-}
diff --git a/imports/wasi_random_0_2_8_random/empty.s b/imports/wasi_random_0_2_8_random/empty.s
deleted file mode 100644
index 308ab60..0000000
--- a/imports/wasi_random_0_2_8_random/empty.s
+++ /dev/null
@@ -1,3 +0,0 @@
-// This file exists for testing this package without WebAssembly,
-// allowing empty function bodies with a //go:wasmimport directive.
-// See https://pkg.go.dev/cmd/compile for more information.
\ No newline at end of file
diff --git a/imports/wasi_random_0_2_8_random/wit_bindings.go b/imports/wasi_random_0_2_8_random/wit_bindings.go
deleted file mode 100644
index 9186e9d..0000000
--- a/imports/wasi_random_0_2_8_random/wit_bindings.go
+++ /dev/null
@@ -1,52 +0,0 @@
-// Generated by `wit-bindgen` 0.62.0. DO NOT EDIT!
-//
-// This code was generated from the following packages:
-// wasi:io@0.2.8
-// wasi:clocks@0.2.8
-// wasi:filesystem@0.2.8
-// wasi:sockets@0.2.8
-// wasi:random@0.2.8
-// wasi:cli@0.2.8
-// wasi:config@0.2.0-rc.1
-// wasi:logging@0.1.0-draft
-// wasi:http@0.2.8
-// wasi:clocks@0.3.0
-// wasi:filesystem@0.3.0
-// wasi:sockets@0.3.0
-// wasi:random@0.3.0
-// wasi:cli@0.3.0
-// wasi:http@0.3.0
-// bytecodealliance:pkg@0.1.0
-
-package wasi_random_0_2_8_random
-
-import (
- witRuntime "go.bytecodealliance.org/pkg/wit/runtime"
- "runtime"
- "unsafe"
-)
-
-//go:wasmimport wasi:random/random@0.2.8 get-random-bytes
-func wasm_import_get_random_bytes(arg0 int64, arg1 uintptr)
-
-func GetRandomBytes(len uint64) []uint8 {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, (2 * 4), 4))
- wasm_import_get_random_bytes(int64(len), returnArea)
- value := unsafe.Slice((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))))), *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 4)))
- result := value
- return result
-
-}
-
-//go:wasmimport wasi:random/random@0.2.8 get-random-u64
-func wasm_import_get_random_u64() int64
-
-func GetRandomU64() uint64 {
-
- result := wasm_import_get_random_u64()
- return uint64(result)
-
-}
diff --git a/imports/wasi_random_0_3_0_insecure/empty.s b/imports/wasi_random_0_3_0_insecure/empty.s
deleted file mode 100644
index 308ab60..0000000
--- a/imports/wasi_random_0_3_0_insecure/empty.s
+++ /dev/null
@@ -1,3 +0,0 @@
-// This file exists for testing this package without WebAssembly,
-// allowing empty function bodies with a //go:wasmimport directive.
-// See https://pkg.go.dev/cmd/compile for more information.
\ No newline at end of file
diff --git a/imports/wasi_random_0_3_0_insecure/wit_bindings.go b/imports/wasi_random_0_3_0_insecure/wit_bindings.go
deleted file mode 100644
index a3ab60d..0000000
--- a/imports/wasi_random_0_3_0_insecure/wit_bindings.go
+++ /dev/null
@@ -1,52 +0,0 @@
-// Generated by `wit-bindgen` 0.62.0. DO NOT EDIT!
-//
-// This code was generated from the following packages:
-// wasi:io@0.2.8
-// wasi:clocks@0.2.8
-// wasi:filesystem@0.2.8
-// wasi:sockets@0.2.8
-// wasi:random@0.2.8
-// wasi:cli@0.2.8
-// wasi:config@0.2.0-rc.1
-// wasi:logging@0.1.0-draft
-// wasi:http@0.2.8
-// wasi:clocks@0.3.0
-// wasi:filesystem@0.3.0
-// wasi:sockets@0.3.0
-// wasi:random@0.3.0
-// wasi:cli@0.3.0
-// wasi:http@0.3.0
-// bytecodealliance:pkg@0.1.0
-
-package wasi_random_0_3_0_insecure
-
-import (
- witRuntime "go.bytecodealliance.org/pkg/wit/runtime"
- "runtime"
- "unsafe"
-)
-
-//go:wasmimport wasi:random/insecure@0.3.0 get-insecure-random-bytes
-func wasm_import_get_insecure_random_bytes(arg0 int64, arg1 uintptr)
-
-func GetInsecureRandomBytes(maxLen uint64) []uint8 {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, (2 * 4), 4))
- wasm_import_get_insecure_random_bytes(int64(maxLen), returnArea)
- value := unsafe.Slice((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))))), *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 4)))
- result := value
- return result
-
-}
-
-//go:wasmimport wasi:random/insecure@0.3.0 get-insecure-random-u64
-func wasm_import_get_insecure_random_u64() int64
-
-func GetInsecureRandomU64() uint64 {
-
- result := wasm_import_get_insecure_random_u64()
- return uint64(result)
-
-}
diff --git a/imports/wasi_random_0_3_0_insecure_seed/empty.s b/imports/wasi_random_0_3_0_insecure_seed/empty.s
deleted file mode 100644
index 308ab60..0000000
--- a/imports/wasi_random_0_3_0_insecure_seed/empty.s
+++ /dev/null
@@ -1,3 +0,0 @@
-// This file exists for testing this package without WebAssembly,
-// allowing empty function bodies with a //go:wasmimport directive.
-// See https://pkg.go.dev/cmd/compile for more information.
\ No newline at end of file
diff --git a/imports/wasi_random_0_3_0_insecure_seed/wit_bindings.go b/imports/wasi_random_0_3_0_insecure_seed/wit_bindings.go
deleted file mode 100644
index 604ff2e..0000000
--- a/imports/wasi_random_0_3_0_insecure_seed/wit_bindings.go
+++ /dev/null
@@ -1,43 +0,0 @@
-// Generated by `wit-bindgen` 0.62.0. DO NOT EDIT!
-//
-// This code was generated from the following packages:
-// wasi:io@0.2.8
-// wasi:clocks@0.2.8
-// wasi:filesystem@0.2.8
-// wasi:sockets@0.2.8
-// wasi:random@0.2.8
-// wasi:cli@0.2.8
-// wasi:config@0.2.0-rc.1
-// wasi:logging@0.1.0-draft
-// wasi:http@0.2.8
-// wasi:clocks@0.3.0
-// wasi:filesystem@0.3.0
-// wasi:sockets@0.3.0
-// wasi:random@0.3.0
-// wasi:cli@0.3.0
-// wasi:http@0.3.0
-// bytecodealliance:pkg@0.1.0
-
-package wasi_random_0_3_0_insecure_seed
-
-import (
- witRuntime "go.bytecodealliance.org/pkg/wit/runtime"
- witTypes "go.bytecodealliance.org/pkg/wit/types"
- "runtime"
- "unsafe"
-)
-
-//go:wasmimport wasi:random/insecure-seed@0.3.0 get-insecure-seed
-func wasm_import_get_insecure_seed(arg0 uintptr)
-
-func GetInsecureSeed() (uint64, uint64) {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 16, 8))
- wasm_import_get_insecure_seed(returnArea)
- result := witTypes.Tuple2[uint64, uint64]{F0: uint64(*(*int64)(unsafe.Add(unsafe.Pointer(returnArea), 0))), F1: uint64(*(*int64)(unsafe.Add(unsafe.Pointer(returnArea), 8)))}
- tuple := result
- return tuple.F0, tuple.F1
-
-}
diff --git a/imports/wasi_random_0_3_0_random/empty.s b/imports/wasi_random_0_3_0_random/empty.s
deleted file mode 100644
index 308ab60..0000000
--- a/imports/wasi_random_0_3_0_random/empty.s
+++ /dev/null
@@ -1,3 +0,0 @@
-// This file exists for testing this package without WebAssembly,
-// allowing empty function bodies with a //go:wasmimport directive.
-// See https://pkg.go.dev/cmd/compile for more information.
\ No newline at end of file
diff --git a/imports/wasi_random_0_3_0_random/wit_bindings.go b/imports/wasi_random_0_3_0_random/wit_bindings.go
deleted file mode 100644
index e1b0ec3..0000000
--- a/imports/wasi_random_0_3_0_random/wit_bindings.go
+++ /dev/null
@@ -1,52 +0,0 @@
-// Generated by `wit-bindgen` 0.62.0. DO NOT EDIT!
-//
-// This code was generated from the following packages:
-// wasi:io@0.2.8
-// wasi:clocks@0.2.8
-// wasi:filesystem@0.2.8
-// wasi:sockets@0.2.8
-// wasi:random@0.2.8
-// wasi:cli@0.2.8
-// wasi:config@0.2.0-rc.1
-// wasi:logging@0.1.0-draft
-// wasi:http@0.2.8
-// wasi:clocks@0.3.0
-// wasi:filesystem@0.3.0
-// wasi:sockets@0.3.0
-// wasi:random@0.3.0
-// wasi:cli@0.3.0
-// wasi:http@0.3.0
-// bytecodealliance:pkg@0.1.0
-
-package wasi_random_0_3_0_random
-
-import (
- witRuntime "go.bytecodealliance.org/pkg/wit/runtime"
- "runtime"
- "unsafe"
-)
-
-//go:wasmimport wasi:random/random@0.3.0 get-random-bytes
-func wasm_import_get_random_bytes(arg0 int64, arg1 uintptr)
-
-func GetRandomBytes(maxLen uint64) []uint8 {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, (2 * 4), 4))
- wasm_import_get_random_bytes(int64(maxLen), returnArea)
- value := unsafe.Slice((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))))), *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 4)))
- result := value
- return result
-
-}
-
-//go:wasmimport wasi:random/random@0.3.0 get-random-u64
-func wasm_import_get_random_u64() int64
-
-func GetRandomU64() uint64 {
-
- result := wasm_import_get_random_u64()
- return uint64(result)
-
-}
diff --git a/imports/wasi_sockets_0_2_8_instance_network/empty.s b/imports/wasi_sockets_0_2_8_instance_network/empty.s
deleted file mode 100644
index 308ab60..0000000
--- a/imports/wasi_sockets_0_2_8_instance_network/empty.s
+++ /dev/null
@@ -1,3 +0,0 @@
-// This file exists for testing this package without WebAssembly,
-// allowing empty function bodies with a //go:wasmimport directive.
-// See https://pkg.go.dev/cmd/compile for more information.
\ No newline at end of file
diff --git a/imports/wasi_sockets_0_2_8_instance_network/wit_bindings.go b/imports/wasi_sockets_0_2_8_instance_network/wit_bindings.go
deleted file mode 100644
index dab2317..0000000
--- a/imports/wasi_sockets_0_2_8_instance_network/wit_bindings.go
+++ /dev/null
@@ -1,37 +0,0 @@
-// Generated by `wit-bindgen` 0.62.0. DO NOT EDIT!
-//
-// This code was generated from the following packages:
-// wasi:io@0.2.8
-// wasi:clocks@0.2.8
-// wasi:filesystem@0.2.8
-// wasi:sockets@0.2.8
-// wasi:random@0.2.8
-// wasi:cli@0.2.8
-// wasi:config@0.2.0-rc.1
-// wasi:logging@0.1.0-draft
-// wasi:http@0.2.8
-// wasi:clocks@0.3.0
-// wasi:filesystem@0.3.0
-// wasi:sockets@0.3.0
-// wasi:random@0.3.0
-// wasi:cli@0.3.0
-// wasi:http@0.3.0
-// bytecodealliance:pkg@0.1.0
-
-package wasi_sockets_0_2_8_instance_network
-
-import (
- "go.bytecodealliance.org/pkg/imports/wasi_sockets_0_2_8_network"
-)
-
-type Network = wasi_sockets_0_2_8_network.Network
-
-//go:wasmimport wasi:sockets/instance-network@0.2.8 instance-network
-func wasm_import_instance_network() int32
-
-func InstanceNetwork() *wasi_sockets_0_2_8_network.Network {
-
- result := wasm_import_instance_network()
- return wasi_sockets_0_2_8_network.NetworkFromOwnHandle(int32(uintptr(result)))
-
-}
diff --git a/imports/wasi_sockets_0_2_8_ip_name_lookup/empty.s b/imports/wasi_sockets_0_2_8_ip_name_lookup/empty.s
deleted file mode 100644
index 308ab60..0000000
--- a/imports/wasi_sockets_0_2_8_ip_name_lookup/empty.s
+++ /dev/null
@@ -1,3 +0,0 @@
-// This file exists for testing this package without WebAssembly,
-// allowing empty function bodies with a //go:wasmimport directive.
-// See https://pkg.go.dev/cmd/compile for more information.
\ No newline at end of file
diff --git a/imports/wasi_sockets_0_2_8_ip_name_lookup/wit_bindings.go b/imports/wasi_sockets_0_2_8_ip_name_lookup/wit_bindings.go
deleted file mode 100644
index 723fec6..0000000
--- a/imports/wasi_sockets_0_2_8_ip_name_lookup/wit_bindings.go
+++ /dev/null
@@ -1,164 +0,0 @@
-// Generated by `wit-bindgen` 0.62.0. DO NOT EDIT!
-//
-// This code was generated from the following packages:
-// wasi:io@0.2.8
-// wasi:clocks@0.2.8
-// wasi:filesystem@0.2.8
-// wasi:sockets@0.2.8
-// wasi:random@0.2.8
-// wasi:cli@0.2.8
-// wasi:config@0.2.0-rc.1
-// wasi:logging@0.1.0-draft
-// wasi:http@0.2.8
-// wasi:clocks@0.3.0
-// wasi:filesystem@0.3.0
-// wasi:sockets@0.3.0
-// wasi:random@0.3.0
-// wasi:cli@0.3.0
-// wasi:http@0.3.0
-// bytecodealliance:pkg@0.1.0
-
-package wasi_sockets_0_2_8_ip_name_lookup
-
-import (
- "go.bytecodealliance.org/pkg/imports/wasi_io_0_2_8_poll"
- "go.bytecodealliance.org/pkg/imports/wasi_sockets_0_2_8_network"
- witRuntime "go.bytecodealliance.org/pkg/wit/runtime"
- witTypes "go.bytecodealliance.org/pkg/wit/types"
- "runtime"
- "unsafe"
-)
-
-type Pollable = wasi_io_0_2_8_poll.Pollable
-type Network = wasi_sockets_0_2_8_network.Network
-type ErrorCode = wasi_sockets_0_2_8_network.ErrorCode
-type IpAddress = wasi_sockets_0_2_8_network.IpAddress
-
-//go:wasmimport wasi:sockets/ip-name-lookup@0.2.8 [resource-drop]resolve-address-stream
-func resourceDropResolveAddressStream(handle int32)
-
-type ResolveAddressStream struct {
- handle *witRuntime.Handle
-}
-
-func (self *ResolveAddressStream) TakeHandle() int32 {
- return self.handle.Take()
-}
-
-func (self *ResolveAddressStream) SetHandle(handle int32) {
- self.handle.Set(handle)
-}
-
-func (self *ResolveAddressStream) Handle() int32 {
- return self.handle.Use()
-}
-
-func (self *ResolveAddressStream) Drop() {
- handle := self.handle.TakeOrNil()
- if handle != 0 {
- resourceDropResolveAddressStream(handle)
- }
-}
-
-func ResolveAddressStreamFromOwnHandle(handleValue int32) *ResolveAddressStream {
- handle := witRuntime.MakeHandle(handleValue)
- value := &ResolveAddressStream{handle}
- runtime.AddCleanup(value, func(_ int) {
- handleValue := handle.TakeOrNil()
- if handleValue != 0 {
- resourceDropResolveAddressStream(handleValue)
- }
- }, 0)
- return value
-}
-
-func ResolveAddressStreamFromBorrowHandle(handleValue int32) *ResolveAddressStream {
- handle := witRuntime.MakeHandle(handleValue)
- return &ResolveAddressStream{handle}
-}
-
-//go:wasmimport wasi:sockets/ip-name-lookup@0.2.8 [method]resolve-address-stream.resolve-next-address
-func wasm_import_method_resolve_address_stream_resolve_next_address(arg0 int32, arg1 uintptr)
-
-func (self *ResolveAddressStream) ResolveNextAddress() witTypes.Result[witTypes.Option[wasi_sockets_0_2_8_network.IpAddress], wasi_sockets_0_2_8_network.ErrorCode] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 22, 2))
- wasm_import_method_resolve_address_stream_resolve_next_address((self).Handle(), returnArea)
- var result witTypes.Result[witTypes.Option[wasi_sockets_0_2_8_network.IpAddress], wasi_sockets_0_2_8_network.ErrorCode]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
- var option witTypes.Option[wasi_sockets_0_2_8_network.IpAddress]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 2))) {
- case 0:
-
- option = witTypes.None[wasi_sockets_0_2_8_network.IpAddress]()
- case 1:
- var variant wasi_sockets_0_2_8_network.IpAddress
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 4))) {
- case 0:
-
- variant = wasi_sockets_0_2_8_network.MakeIpAddressIpv4(witTypes.Tuple4[uint8, uint8, uint8, uint8]{F0: uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 6)))), F1: uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 7)))), F2: uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 8)))), F3: uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 9))))})
-
- case 1:
-
- variant = wasi_sockets_0_2_8_network.MakeIpAddressIpv6(witTypes.Tuple8[uint16, uint16, uint16, uint16, uint16, uint16, uint16, uint16]{F0: uint16(uint16(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 6)))), F1: uint16(uint16(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 8)))), F2: uint16(uint16(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 10)))), F3: uint16(uint16(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 12)))), F4: uint16(uint16(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 14)))), F5: uint16(uint16(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 16)))), F6: uint16(uint16(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 18)))), F7: uint16(uint16(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 20))))})
-
- default:
- panic("unreachable")
- }
-
- option = witTypes.Some[wasi_sockets_0_2_8_network.IpAddress](variant)
- default:
- panic("unreachable")
- }
-
- result = witTypes.Ok[witTypes.Option[wasi_sockets_0_2_8_network.IpAddress], wasi_sockets_0_2_8_network.ErrorCode](option)
- case 1:
-
- result = witTypes.Err[witTypes.Option[wasi_sockets_0_2_8_network.IpAddress], wasi_sockets_0_2_8_network.ErrorCode](uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 2)))))
- default:
- panic("unreachable")
- }
- result0 := result
- return result0
-
-}
-
-//go:wasmimport wasi:sockets/ip-name-lookup@0.2.8 [method]resolve-address-stream.subscribe
-func wasm_import_method_resolve_address_stream_subscribe(arg0 int32) int32
-
-func (self *ResolveAddressStream) Subscribe() *wasi_io_0_2_8_poll.Pollable {
-
- result := wasm_import_method_resolve_address_stream_subscribe((self).Handle())
- return wasi_io_0_2_8_poll.PollableFromOwnHandle(int32(uintptr(result)))
-
-}
-
-//go:wasmimport wasi:sockets/ip-name-lookup@0.2.8 resolve-addresses
-func wasm_import_resolve_addresses(arg0 int32, arg1 uintptr, arg2 uint32, arg3 uintptr)
-
-func ResolveAddresses(network *wasi_sockets_0_2_8_network.Network, name string) witTypes.Result[*ResolveAddressStream, wasi_sockets_0_2_8_network.ErrorCode] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 8, 4))
- utf8 := unsafe.Pointer(unsafe.StringData(name))
- pinner.Pin(utf8)
- wasm_import_resolve_addresses((network).Handle(), uintptr(utf8), uint32(len(name)), returnArea)
- var result witTypes.Result[*ResolveAddressStream, wasi_sockets_0_2_8_network.ErrorCode]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- result = witTypes.Ok[*ResolveAddressStream, wasi_sockets_0_2_8_network.ErrorCode](ResolveAddressStreamFromOwnHandle(int32(uintptr(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 4))))))
- case 1:
-
- result = witTypes.Err[*ResolveAddressStream, wasi_sockets_0_2_8_network.ErrorCode](uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 4)))))
- default:
- panic("unreachable")
- }
- result0 := result
- return result0
-
-}
diff --git a/imports/wasi_sockets_0_2_8_network/empty.s b/imports/wasi_sockets_0_2_8_network/empty.s
deleted file mode 100644
index 308ab60..0000000
--- a/imports/wasi_sockets_0_2_8_network/empty.s
+++ /dev/null
@@ -1,3 +0,0 @@
-// This file exists for testing this package without WebAssembly,
-// allowing empty function bodies with a //go:wasmimport directive.
-// See https://pkg.go.dev/cmd/compile for more information.
\ No newline at end of file
diff --git a/imports/wasi_sockets_0_2_8_network/wit_bindings.go b/imports/wasi_sockets_0_2_8_network/wit_bindings.go
deleted file mode 100644
index 04866b8..0000000
--- a/imports/wasi_sockets_0_2_8_network/wit_bindings.go
+++ /dev/null
@@ -1,248 +0,0 @@
-// Generated by `wit-bindgen` 0.62.0. DO NOT EDIT!
-//
-// This code was generated from the following packages:
-// wasi:io@0.2.8
-// wasi:clocks@0.2.8
-// wasi:filesystem@0.2.8
-// wasi:sockets@0.2.8
-// wasi:random@0.2.8
-// wasi:cli@0.2.8
-// wasi:config@0.2.0-rc.1
-// wasi:logging@0.1.0-draft
-// wasi:http@0.2.8
-// wasi:clocks@0.3.0
-// wasi:filesystem@0.3.0
-// wasi:sockets@0.3.0
-// wasi:random@0.3.0
-// wasi:cli@0.3.0
-// wasi:http@0.3.0
-// bytecodealliance:pkg@0.1.0
-
-package wasi_sockets_0_2_8_network
-
-import (
- witRuntime "go.bytecodealliance.org/pkg/wit/runtime"
- witTypes "go.bytecodealliance.org/pkg/wit/types"
- "runtime"
-)
-
-//go:wasmimport wasi:sockets/network@0.2.8 [resource-drop]network
-func resourceDropNetwork(handle int32)
-
-// An opaque resource that represents access to (a subset of) the network.
-// This enables context-based security for networking.
-// There is no need for this to map 1:1 to a physical network interface.
-type Network struct {
- handle *witRuntime.Handle
-}
-
-func (self *Network) TakeHandle() int32 {
- return self.handle.Take()
-}
-
-func (self *Network) SetHandle(handle int32) {
- self.handle.Set(handle)
-}
-
-func (self *Network) Handle() int32 {
- return self.handle.Use()
-}
-
-func (self *Network) Drop() {
- handle := self.handle.TakeOrNil()
- if handle != 0 {
- resourceDropNetwork(handle)
- }
-}
-
-func NetworkFromOwnHandle(handleValue int32) *Network {
- handle := witRuntime.MakeHandle(handleValue)
- value := &Network{handle}
- runtime.AddCleanup(value, func(_ int) {
- handleValue := handle.TakeOrNil()
- if handleValue != 0 {
- resourceDropNetwork(handleValue)
- }
- }, 0)
- return value
-}
-
-func NetworkFromBorrowHandle(handleValue int32) *Network {
- handle := witRuntime.MakeHandle(handleValue)
- return &Network{handle}
-}
-
-const (
- // Unknown error
- ErrorCode_Unknown uint8 = 0
- // Access denied.
- //
- // POSIX equivalent: EACCES, EPERM
- ErrorCode_AccessDenied uint8 = 1
- // The operation is not supported.
- //
- // POSIX equivalent: EOPNOTSUPP
- ErrorCode_NotSupported uint8 = 2
- // One of the arguments is invalid.
- //
- // POSIX equivalent: EINVAL
- ErrorCode_InvalidArgument uint8 = 3
- // Not enough memory to complete the operation.
- //
- // POSIX equivalent: ENOMEM, ENOBUFS, EAI_MEMORY
- ErrorCode_OutOfMemory uint8 = 4
- // The operation timed out before it could finish completely.
- ErrorCode_Timeout uint8 = 5
- // This operation is incompatible with another asynchronous operation that is already in progress.
- //
- // POSIX equivalent: EALREADY
- ErrorCode_ConcurrencyConflict uint8 = 6
- // Trying to finish an asynchronous operation that:
- // - has not been started yet, or:
- // - was already finished by a previous `finish-*` call.
- //
- // Note: this is scheduled to be removed when `future`s are natively supported.
- ErrorCode_NotInProgress uint8 = 7
- // The operation has been aborted because it could not be completed immediately.
- //
- // Note: this is scheduled to be removed when `future`s are natively supported.
- ErrorCode_WouldBlock uint8 = 8
- // The operation is not valid in the socket's current state.
- ErrorCode_InvalidState uint8 = 9
- // A new socket resource could not be created because of a system limit.
- ErrorCode_NewSocketLimit uint8 = 10
- // A bind operation failed because the provided address is not an address that the `network` can bind to.
- ErrorCode_AddressNotBindable uint8 = 11
- // A bind operation failed because the provided address is already in use or because there are no ephemeral ports available.
- ErrorCode_AddressInUse uint8 = 12
- // The remote address is not reachable
- ErrorCode_RemoteUnreachable uint8 = 13
- // The TCP connection was forcefully rejected
- ErrorCode_ConnectionRefused uint8 = 14
- // The TCP connection was reset.
- ErrorCode_ConnectionReset uint8 = 15
- // A TCP connection was aborted.
- ErrorCode_ConnectionAborted uint8 = 16
- // The size of a datagram sent to a UDP socket exceeded the maximum
- // supported size.
- ErrorCode_DatagramTooLarge uint8 = 17
- // Name does not exist or has no suitable associated IP addresses.
- ErrorCode_NameUnresolvable uint8 = 18
- // A temporary failure in name resolution occurred.
- ErrorCode_TemporaryResolverFailure uint8 = 19
- // A permanent failure in name resolution occurred.
- ErrorCode_PermanentResolverFailure uint8 = 20
-)
-
-// Error codes.
-//
-// In theory, every API can return any error code.
-// In practice, API's typically only return the errors documented per API
-// combined with a couple of errors that are always possible:
-// - `unknown`
-// - `access-denied`
-// - `not-supported`
-// - `out-of-memory`
-// - `concurrency-conflict`
-//
-// See each individual API for what the POSIX equivalents are. They sometimes differ per API.
-type ErrorCode = uint8
-
-const (
- // Similar to `AF_INET` in POSIX.
- IpAddressFamily_Ipv4 uint8 = 0
- // Similar to `AF_INET6` in POSIX.
- IpAddressFamily_Ipv6 uint8 = 1
-)
-
-type IpAddressFamily = uint8
-type Ipv4Address = witTypes.Tuple4[uint8, uint8, uint8, uint8]
-type Ipv6Address = witTypes.Tuple8[uint16, uint16, uint16, uint16, uint16, uint16, uint16, uint16]
-
-const (
- IpAddress_Ipv4 uint8 = 0
- IpAddress_Ipv6 uint8 = 1
-)
-
-type IpAddress struct {
- tag uint8
- value any
-}
-
-func (self IpAddress) Tag() uint8 {
- return self.tag
-}
-
-func (self IpAddress) Ipv4() witTypes.Tuple4[uint8, uint8, uint8, uint8] {
- if self.tag != IpAddress_Ipv4 {
- panic("tag mismatch")
- }
- return self.value.(witTypes.Tuple4[uint8, uint8, uint8, uint8])
-}
-
-func (self IpAddress) Ipv6() witTypes.Tuple8[uint16, uint16, uint16, uint16, uint16, uint16, uint16, uint16] {
- if self.tag != IpAddress_Ipv6 {
- panic("tag mismatch")
- }
- return self.value.(witTypes.Tuple8[uint16, uint16, uint16, uint16, uint16, uint16, uint16, uint16])
-}
-
-func MakeIpAddressIpv4(value witTypes.Tuple4[uint8, uint8, uint8, uint8]) IpAddress {
- return IpAddress{IpAddress_Ipv4, value}
-}
-func MakeIpAddressIpv6(value witTypes.Tuple8[uint16, uint16, uint16, uint16, uint16, uint16, uint16, uint16]) IpAddress {
- return IpAddress{IpAddress_Ipv6, value}
-}
-
-type Ipv4SocketAddress struct {
- // sin_port
- Port uint16
- // sin_addr
- Address witTypes.Tuple4[uint8, uint8, uint8, uint8]
-}
-
-type Ipv6SocketAddress struct {
- // sin6_port
- Port uint16
- // sin6_flowinfo
- FlowInfo uint32
- // sin6_addr
- Address witTypes.Tuple8[uint16, uint16, uint16, uint16, uint16, uint16, uint16, uint16]
- // sin6_scope_id
- ScopeId uint32
-}
-
-const (
- IpSocketAddress_Ipv4 uint8 = 0
- IpSocketAddress_Ipv6 uint8 = 1
-)
-
-type IpSocketAddress struct {
- tag uint8
- value any
-}
-
-func (self IpSocketAddress) Tag() uint8 {
- return self.tag
-}
-
-func (self IpSocketAddress) Ipv4() Ipv4SocketAddress {
- if self.tag != IpSocketAddress_Ipv4 {
- panic("tag mismatch")
- }
- return self.value.(Ipv4SocketAddress)
-}
-
-func (self IpSocketAddress) Ipv6() Ipv6SocketAddress {
- if self.tag != IpSocketAddress_Ipv6 {
- panic("tag mismatch")
- }
- return self.value.(Ipv6SocketAddress)
-}
-
-func MakeIpSocketAddressIpv4(value Ipv4SocketAddress) IpSocketAddress {
- return IpSocketAddress{IpSocketAddress_Ipv4, value}
-}
-func MakeIpSocketAddressIpv6(value Ipv6SocketAddress) IpSocketAddress {
- return IpSocketAddress{IpSocketAddress_Ipv6, value}
-}
diff --git a/imports/wasi_sockets_0_2_8_tcp/empty.s b/imports/wasi_sockets_0_2_8_tcp/empty.s
deleted file mode 100644
index 308ab60..0000000
--- a/imports/wasi_sockets_0_2_8_tcp/empty.s
+++ /dev/null
@@ -1,3 +0,0 @@
-// This file exists for testing this package without WebAssembly,
-// allowing empty function bodies with a //go:wasmimport directive.
-// See https://pkg.go.dev/cmd/compile for more information.
\ No newline at end of file
diff --git a/imports/wasi_sockets_0_2_8_tcp/wit_bindings.go b/imports/wasi_sockets_0_2_8_tcp/wit_bindings.go
deleted file mode 100644
index 3133824..0000000
--- a/imports/wasi_sockets_0_2_8_tcp/wit_bindings.go
+++ /dev/null
@@ -1,898 +0,0 @@
-// Generated by `wit-bindgen` 0.62.0. DO NOT EDIT!
-//
-// This code was generated from the following packages:
-// wasi:io@0.2.8
-// wasi:clocks@0.2.8
-// wasi:filesystem@0.2.8
-// wasi:sockets@0.2.8
-// wasi:random@0.2.8
-// wasi:cli@0.2.8
-// wasi:config@0.2.0-rc.1
-// wasi:logging@0.1.0-draft
-// wasi:http@0.2.8
-// wasi:clocks@0.3.0
-// wasi:filesystem@0.3.0
-// wasi:sockets@0.3.0
-// wasi:random@0.3.0
-// wasi:cli@0.3.0
-// wasi:http@0.3.0
-// bytecodealliance:pkg@0.1.0
-
-package wasi_sockets_0_2_8_tcp
-
-import (
- "go.bytecodealliance.org/pkg/imports/wasi_io_0_2_8_poll"
- "go.bytecodealliance.org/pkg/imports/wasi_io_0_2_8_streams"
- "go.bytecodealliance.org/pkg/imports/wasi_sockets_0_2_8_network"
- witRuntime "go.bytecodealliance.org/pkg/wit/runtime"
- witTypes "go.bytecodealliance.org/pkg/wit/types"
- "runtime"
- "unsafe"
-)
-
-type InputStream = wasi_io_0_2_8_streams.InputStream
-type OutputStream = wasi_io_0_2_8_streams.OutputStream
-type Pollable = wasi_io_0_2_8_poll.Pollable
-type Duration = uint64
-type Network = wasi_sockets_0_2_8_network.Network
-type ErrorCode = wasi_sockets_0_2_8_network.ErrorCode
-type IpSocketAddress = wasi_sockets_0_2_8_network.IpSocketAddress
-type IpAddressFamily = wasi_sockets_0_2_8_network.IpAddressFamily
-
-const (
- // Similar to `SHUT_RD` in POSIX.
- ShutdownType_Receive uint8 = 0
- // Similar to `SHUT_WR` in POSIX.
- ShutdownType_Send uint8 = 1
- // Similar to `SHUT_RDWR` in POSIX.
- ShutdownType_Both uint8 = 2
-)
-
-type ShutdownType = uint8
-
-//go:wasmimport wasi:sockets/tcp@0.2.8 [resource-drop]tcp-socket
-func resourceDropTcpSocket(handle int32)
-
-// A TCP socket resource.
-//
-// The socket can be in one of the following states:
-// - `unbound`
-// - `bind-in-progress`
-// - `bound` (See note below)
-// - `listen-in-progress`
-// - `listening`
-// - `connect-in-progress`
-// - `connected`
-// - `closed`
-// See
-// for more information.
-//
-// Note: Except where explicitly mentioned, whenever this documentation uses
-// the term "bound" without backticks it actually means: in the `bound` state *or higher*.
-// (i.e. `bound`, `listen-in-progress`, `listening`, `connect-in-progress` or `connected`)
-//
-// In addition to the general error codes documented on the
-// `network::error-code` type, TCP socket methods may always return
-// `error(invalid-state)` when in the `closed` state.
-type TcpSocket struct {
- handle *witRuntime.Handle
-}
-
-func (self *TcpSocket) TakeHandle() int32 {
- return self.handle.Take()
-}
-
-func (self *TcpSocket) SetHandle(handle int32) {
- self.handle.Set(handle)
-}
-
-func (self *TcpSocket) Handle() int32 {
- return self.handle.Use()
-}
-
-func (self *TcpSocket) Drop() {
- handle := self.handle.TakeOrNil()
- if handle != 0 {
- resourceDropTcpSocket(handle)
- }
-}
-
-func TcpSocketFromOwnHandle(handleValue int32) *TcpSocket {
- handle := witRuntime.MakeHandle(handleValue)
- value := &TcpSocket{handle}
- runtime.AddCleanup(value, func(_ int) {
- handleValue := handle.TakeOrNil()
- if handleValue != 0 {
- resourceDropTcpSocket(handleValue)
- }
- }, 0)
- return value
-}
-
-func TcpSocketFromBorrowHandle(handleValue int32) *TcpSocket {
- handle := witRuntime.MakeHandle(handleValue)
- return &TcpSocket{handle}
-}
-
-//go:wasmimport wasi:sockets/tcp@0.2.8 [method]tcp-socket.start-bind
-func wasm_import_method_tcp_socket_start_bind(arg0 int32, arg1 int32, arg2 int32, arg3 int32, arg4 int32, arg5 int32, arg6 int32, arg7 int32, arg8 int32, arg9 int32, arg10 int32, arg11 int32, arg12 int32, arg13 int32, arg14 uintptr)
-
-func (self *TcpSocket) StartBind(network *wasi_sockets_0_2_8_network.Network, localAddress wasi_sockets_0_2_8_network.IpSocketAddress) witTypes.Result[witTypes.Unit, wasi_sockets_0_2_8_network.ErrorCode] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 2, 1))
- var variant int32
- var variant0 int32
- var variant1 int32
- var variant2 int32
- var variant3 int32
- var variant4 int32
- var variant5 int32
- var variant6 int32
- var variant7 int32
- var variant8 int32
- var variant9 int32
- var variant10 int32
- switch localAddress.Tag() {
- case wasi_sockets_0_2_8_network.IpSocketAddress_Ipv4:
- payload := localAddress.Ipv4()
-
- variant = int32(0)
- variant0 = int32((payload).Port)
- variant1 = int32(((payload).Address).F0)
- variant2 = int32(((payload).Address).F1)
- variant3 = int32(((payload).Address).F2)
- variant4 = int32(((payload).Address).F3)
- variant5 = 0
- variant6 = 0
- variant7 = 0
- variant8 = 0
- variant9 = 0
- variant10 = 0
-
- case wasi_sockets_0_2_8_network.IpSocketAddress_Ipv6:
- payload := localAddress.Ipv6()
-
- variant = int32(1)
- variant0 = int32((payload).Port)
- variant1 = int32((payload).FlowInfo)
- variant2 = int32(((payload).Address).F0)
- variant3 = int32(((payload).Address).F1)
- variant4 = int32(((payload).Address).F2)
- variant5 = int32(((payload).Address).F3)
- variant6 = int32(((payload).Address).F4)
- variant7 = int32(((payload).Address).F5)
- variant8 = int32(((payload).Address).F6)
- variant9 = int32(((payload).Address).F7)
- variant10 = int32((payload).ScopeId)
-
- default:
- panic("unreachable")
- }
- wasm_import_method_tcp_socket_start_bind((self).Handle(), (network).Handle(), variant, variant0, variant1, variant2, variant3, variant4, variant5, variant6, variant7, variant8, variant9, variant10, returnArea)
- var result witTypes.Result[witTypes.Unit, wasi_sockets_0_2_8_network.ErrorCode]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- result = witTypes.Ok[witTypes.Unit, wasi_sockets_0_2_8_network.ErrorCode](witTypes.Unit{})
- case 1:
-
- result = witTypes.Err[witTypes.Unit, wasi_sockets_0_2_8_network.ErrorCode](uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 1)))))
- default:
- panic("unreachable")
- }
- result11 := result
- return result11
-
-}
-
-//go:wasmimport wasi:sockets/tcp@0.2.8 [method]tcp-socket.finish-bind
-func wasm_import_method_tcp_socket_finish_bind(arg0 int32, arg1 uintptr)
-
-func (self *TcpSocket) FinishBind() witTypes.Result[witTypes.Unit, wasi_sockets_0_2_8_network.ErrorCode] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 2, 1))
- wasm_import_method_tcp_socket_finish_bind((self).Handle(), returnArea)
- var result witTypes.Result[witTypes.Unit, wasi_sockets_0_2_8_network.ErrorCode]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- result = witTypes.Ok[witTypes.Unit, wasi_sockets_0_2_8_network.ErrorCode](witTypes.Unit{})
- case 1:
-
- result = witTypes.Err[witTypes.Unit, wasi_sockets_0_2_8_network.ErrorCode](uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 1)))))
- default:
- panic("unreachable")
- }
- result0 := result
- return result0
-
-}
-
-//go:wasmimport wasi:sockets/tcp@0.2.8 [method]tcp-socket.start-connect
-func wasm_import_method_tcp_socket_start_connect(arg0 int32, arg1 int32, arg2 int32, arg3 int32, arg4 int32, arg5 int32, arg6 int32, arg7 int32, arg8 int32, arg9 int32, arg10 int32, arg11 int32, arg12 int32, arg13 int32, arg14 uintptr)
-
-func (self *TcpSocket) StartConnect(network *wasi_sockets_0_2_8_network.Network, remoteAddress wasi_sockets_0_2_8_network.IpSocketAddress) witTypes.Result[witTypes.Unit, wasi_sockets_0_2_8_network.ErrorCode] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 2, 1))
- var variant int32
- var variant0 int32
- var variant1 int32
- var variant2 int32
- var variant3 int32
- var variant4 int32
- var variant5 int32
- var variant6 int32
- var variant7 int32
- var variant8 int32
- var variant9 int32
- var variant10 int32
- switch remoteAddress.Tag() {
- case wasi_sockets_0_2_8_network.IpSocketAddress_Ipv4:
- payload := remoteAddress.Ipv4()
-
- variant = int32(0)
- variant0 = int32((payload).Port)
- variant1 = int32(((payload).Address).F0)
- variant2 = int32(((payload).Address).F1)
- variant3 = int32(((payload).Address).F2)
- variant4 = int32(((payload).Address).F3)
- variant5 = 0
- variant6 = 0
- variant7 = 0
- variant8 = 0
- variant9 = 0
- variant10 = 0
-
- case wasi_sockets_0_2_8_network.IpSocketAddress_Ipv6:
- payload := remoteAddress.Ipv6()
-
- variant = int32(1)
- variant0 = int32((payload).Port)
- variant1 = int32((payload).FlowInfo)
- variant2 = int32(((payload).Address).F0)
- variant3 = int32(((payload).Address).F1)
- variant4 = int32(((payload).Address).F2)
- variant5 = int32(((payload).Address).F3)
- variant6 = int32(((payload).Address).F4)
- variant7 = int32(((payload).Address).F5)
- variant8 = int32(((payload).Address).F6)
- variant9 = int32(((payload).Address).F7)
- variant10 = int32((payload).ScopeId)
-
- default:
- panic("unreachable")
- }
- wasm_import_method_tcp_socket_start_connect((self).Handle(), (network).Handle(), variant, variant0, variant1, variant2, variant3, variant4, variant5, variant6, variant7, variant8, variant9, variant10, returnArea)
- var result witTypes.Result[witTypes.Unit, wasi_sockets_0_2_8_network.ErrorCode]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- result = witTypes.Ok[witTypes.Unit, wasi_sockets_0_2_8_network.ErrorCode](witTypes.Unit{})
- case 1:
-
- result = witTypes.Err[witTypes.Unit, wasi_sockets_0_2_8_network.ErrorCode](uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 1)))))
- default:
- panic("unreachable")
- }
- result11 := result
- return result11
-
-}
-
-//go:wasmimport wasi:sockets/tcp@0.2.8 [method]tcp-socket.finish-connect
-func wasm_import_method_tcp_socket_finish_connect(arg0 int32, arg1 uintptr)
-
-func (self *TcpSocket) FinishConnect() witTypes.Result[witTypes.Tuple2[*wasi_io_0_2_8_streams.InputStream, *wasi_io_0_2_8_streams.OutputStream], wasi_sockets_0_2_8_network.ErrorCode] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 12, 4))
- wasm_import_method_tcp_socket_finish_connect((self).Handle(), returnArea)
- var result witTypes.Result[witTypes.Tuple2[*wasi_io_0_2_8_streams.InputStream, *wasi_io_0_2_8_streams.OutputStream], wasi_sockets_0_2_8_network.ErrorCode]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- result = witTypes.Ok[witTypes.Tuple2[*wasi_io_0_2_8_streams.InputStream, *wasi_io_0_2_8_streams.OutputStream], wasi_sockets_0_2_8_network.ErrorCode](witTypes.Tuple2[*wasi_io_0_2_8_streams.InputStream, *wasi_io_0_2_8_streams.OutputStream]{F0: wasi_io_0_2_8_streams.InputStreamFromOwnHandle(int32(uintptr(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 4))))), F1: wasi_io_0_2_8_streams.OutputStreamFromOwnHandle(int32(uintptr(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 8)))))})
- case 1:
-
- result = witTypes.Err[witTypes.Tuple2[*wasi_io_0_2_8_streams.InputStream, *wasi_io_0_2_8_streams.OutputStream], wasi_sockets_0_2_8_network.ErrorCode](uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 4)))))
- default:
- panic("unreachable")
- }
- result0 := result
- return result0
-
-}
-
-//go:wasmimport wasi:sockets/tcp@0.2.8 [method]tcp-socket.start-listen
-func wasm_import_method_tcp_socket_start_listen(arg0 int32, arg1 uintptr)
-
-func (self *TcpSocket) StartListen() witTypes.Result[witTypes.Unit, wasi_sockets_0_2_8_network.ErrorCode] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 2, 1))
- wasm_import_method_tcp_socket_start_listen((self).Handle(), returnArea)
- var result witTypes.Result[witTypes.Unit, wasi_sockets_0_2_8_network.ErrorCode]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- result = witTypes.Ok[witTypes.Unit, wasi_sockets_0_2_8_network.ErrorCode](witTypes.Unit{})
- case 1:
-
- result = witTypes.Err[witTypes.Unit, wasi_sockets_0_2_8_network.ErrorCode](uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 1)))))
- default:
- panic("unreachable")
- }
- result0 := result
- return result0
-
-}
-
-//go:wasmimport wasi:sockets/tcp@0.2.8 [method]tcp-socket.finish-listen
-func wasm_import_method_tcp_socket_finish_listen(arg0 int32, arg1 uintptr)
-
-func (self *TcpSocket) FinishListen() witTypes.Result[witTypes.Unit, wasi_sockets_0_2_8_network.ErrorCode] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 2, 1))
- wasm_import_method_tcp_socket_finish_listen((self).Handle(), returnArea)
- var result witTypes.Result[witTypes.Unit, wasi_sockets_0_2_8_network.ErrorCode]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- result = witTypes.Ok[witTypes.Unit, wasi_sockets_0_2_8_network.ErrorCode](witTypes.Unit{})
- case 1:
-
- result = witTypes.Err[witTypes.Unit, wasi_sockets_0_2_8_network.ErrorCode](uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 1)))))
- default:
- panic("unreachable")
- }
- result0 := result
- return result0
-
-}
-
-//go:wasmimport wasi:sockets/tcp@0.2.8 [method]tcp-socket.accept
-func wasm_import_method_tcp_socket_accept(arg0 int32, arg1 uintptr)
-
-func (self *TcpSocket) Accept() witTypes.Result[witTypes.Tuple3[*TcpSocket, *wasi_io_0_2_8_streams.InputStream, *wasi_io_0_2_8_streams.OutputStream], wasi_sockets_0_2_8_network.ErrorCode] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 16, 4))
- wasm_import_method_tcp_socket_accept((self).Handle(), returnArea)
- var result witTypes.Result[witTypes.Tuple3[*TcpSocket, *wasi_io_0_2_8_streams.InputStream, *wasi_io_0_2_8_streams.OutputStream], wasi_sockets_0_2_8_network.ErrorCode]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- result = witTypes.Ok[witTypes.Tuple3[*TcpSocket, *wasi_io_0_2_8_streams.InputStream, *wasi_io_0_2_8_streams.OutputStream], wasi_sockets_0_2_8_network.ErrorCode](witTypes.Tuple3[*TcpSocket, *wasi_io_0_2_8_streams.InputStream, *wasi_io_0_2_8_streams.OutputStream]{F0: TcpSocketFromOwnHandle(int32(uintptr(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 4))))), F1: wasi_io_0_2_8_streams.InputStreamFromOwnHandle(int32(uintptr(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 8))))), F2: wasi_io_0_2_8_streams.OutputStreamFromOwnHandle(int32(uintptr(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 12)))))})
- case 1:
-
- result = witTypes.Err[witTypes.Tuple3[*TcpSocket, *wasi_io_0_2_8_streams.InputStream, *wasi_io_0_2_8_streams.OutputStream], wasi_sockets_0_2_8_network.ErrorCode](uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 4)))))
- default:
- panic("unreachable")
- }
- result0 := result
- return result0
-
-}
-
-//go:wasmimport wasi:sockets/tcp@0.2.8 [method]tcp-socket.local-address
-func wasm_import_method_tcp_socket_local_address(arg0 int32, arg1 uintptr)
-
-func (self *TcpSocket) LocalAddress() witTypes.Result[wasi_sockets_0_2_8_network.IpSocketAddress, wasi_sockets_0_2_8_network.ErrorCode] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 36, 4))
- wasm_import_method_tcp_socket_local_address((self).Handle(), returnArea)
- var result witTypes.Result[wasi_sockets_0_2_8_network.IpSocketAddress, wasi_sockets_0_2_8_network.ErrorCode]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
- var variant wasi_sockets_0_2_8_network.IpSocketAddress
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 4))) {
- case 0:
-
- variant = wasi_sockets_0_2_8_network.MakeIpSocketAddressIpv4(wasi_sockets_0_2_8_network.Ipv4SocketAddress{Port: uint16(uint16(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 8)))), Address: witTypes.Tuple4[uint8, uint8, uint8, uint8]{F0: uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 10)))), F1: uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 11)))), F2: uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 12)))), F3: uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 13))))}})
-
- case 1:
-
- variant = wasi_sockets_0_2_8_network.MakeIpSocketAddressIpv6(wasi_sockets_0_2_8_network.Ipv6SocketAddress{Port: uint16(uint16(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 8)))), FlowInfo: uint32(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 12))), Address: witTypes.Tuple8[uint16, uint16, uint16, uint16, uint16, uint16, uint16, uint16]{F0: uint16(uint16(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 16)))), F1: uint16(uint16(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 18)))), F2: uint16(uint16(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 20)))), F3: uint16(uint16(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 22)))), F4: uint16(uint16(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 24)))), F5: uint16(uint16(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 26)))), F6: uint16(uint16(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 28)))), F7: uint16(uint16(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 30))))}, ScopeId: uint32(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 32)))})
-
- default:
- panic("unreachable")
- }
-
- result = witTypes.Ok[wasi_sockets_0_2_8_network.IpSocketAddress, wasi_sockets_0_2_8_network.ErrorCode](variant)
- case 1:
-
- result = witTypes.Err[wasi_sockets_0_2_8_network.IpSocketAddress, wasi_sockets_0_2_8_network.ErrorCode](uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 4)))))
- default:
- panic("unreachable")
- }
- result0 := result
- return result0
-
-}
-
-//go:wasmimport wasi:sockets/tcp@0.2.8 [method]tcp-socket.remote-address
-func wasm_import_method_tcp_socket_remote_address(arg0 int32, arg1 uintptr)
-
-func (self *TcpSocket) RemoteAddress() witTypes.Result[wasi_sockets_0_2_8_network.IpSocketAddress, wasi_sockets_0_2_8_network.ErrorCode] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 36, 4))
- wasm_import_method_tcp_socket_remote_address((self).Handle(), returnArea)
- var result witTypes.Result[wasi_sockets_0_2_8_network.IpSocketAddress, wasi_sockets_0_2_8_network.ErrorCode]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
- var variant wasi_sockets_0_2_8_network.IpSocketAddress
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 4))) {
- case 0:
-
- variant = wasi_sockets_0_2_8_network.MakeIpSocketAddressIpv4(wasi_sockets_0_2_8_network.Ipv4SocketAddress{Port: uint16(uint16(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 8)))), Address: witTypes.Tuple4[uint8, uint8, uint8, uint8]{F0: uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 10)))), F1: uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 11)))), F2: uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 12)))), F3: uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 13))))}})
-
- case 1:
-
- variant = wasi_sockets_0_2_8_network.MakeIpSocketAddressIpv6(wasi_sockets_0_2_8_network.Ipv6SocketAddress{Port: uint16(uint16(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 8)))), FlowInfo: uint32(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 12))), Address: witTypes.Tuple8[uint16, uint16, uint16, uint16, uint16, uint16, uint16, uint16]{F0: uint16(uint16(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 16)))), F1: uint16(uint16(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 18)))), F2: uint16(uint16(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 20)))), F3: uint16(uint16(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 22)))), F4: uint16(uint16(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 24)))), F5: uint16(uint16(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 26)))), F6: uint16(uint16(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 28)))), F7: uint16(uint16(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 30))))}, ScopeId: uint32(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 32)))})
-
- default:
- panic("unreachable")
- }
-
- result = witTypes.Ok[wasi_sockets_0_2_8_network.IpSocketAddress, wasi_sockets_0_2_8_network.ErrorCode](variant)
- case 1:
-
- result = witTypes.Err[wasi_sockets_0_2_8_network.IpSocketAddress, wasi_sockets_0_2_8_network.ErrorCode](uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 4)))))
- default:
- panic("unreachable")
- }
- result0 := result
- return result0
-
-}
-
-//go:wasmimport wasi:sockets/tcp@0.2.8 [method]tcp-socket.is-listening
-func wasm_import_method_tcp_socket_is_listening(arg0 int32) int32
-
-func (self *TcpSocket) IsListening() bool {
-
- result := wasm_import_method_tcp_socket_is_listening((self).Handle())
- return (result != 0)
-
-}
-
-//go:wasmimport wasi:sockets/tcp@0.2.8 [method]tcp-socket.address-family
-func wasm_import_method_tcp_socket_address_family(arg0 int32) int32
-
-func (self *TcpSocket) AddressFamily() wasi_sockets_0_2_8_network.IpAddressFamily {
-
- result := wasm_import_method_tcp_socket_address_family((self).Handle())
- return uint8(result)
-
-}
-
-//go:wasmimport wasi:sockets/tcp@0.2.8 [method]tcp-socket.set-listen-backlog-size
-func wasm_import_method_tcp_socket_set_listen_backlog_size(arg0 int32, arg1 int64, arg2 uintptr)
-
-func (self *TcpSocket) SetListenBacklogSize(value uint64) witTypes.Result[witTypes.Unit, wasi_sockets_0_2_8_network.ErrorCode] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 2, 1))
- wasm_import_method_tcp_socket_set_listen_backlog_size((self).Handle(), int64(value), returnArea)
- var result witTypes.Result[witTypes.Unit, wasi_sockets_0_2_8_network.ErrorCode]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- result = witTypes.Ok[witTypes.Unit, wasi_sockets_0_2_8_network.ErrorCode](witTypes.Unit{})
- case 1:
-
- result = witTypes.Err[witTypes.Unit, wasi_sockets_0_2_8_network.ErrorCode](uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 1)))))
- default:
- panic("unreachable")
- }
- result0 := result
- return result0
-
-}
-
-//go:wasmimport wasi:sockets/tcp@0.2.8 [method]tcp-socket.keep-alive-enabled
-func wasm_import_method_tcp_socket_keep_alive_enabled(arg0 int32, arg1 uintptr)
-
-func (self *TcpSocket) KeepAliveEnabled() witTypes.Result[bool, wasi_sockets_0_2_8_network.ErrorCode] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 2, 1))
- wasm_import_method_tcp_socket_keep_alive_enabled((self).Handle(), returnArea)
- var result witTypes.Result[bool, wasi_sockets_0_2_8_network.ErrorCode]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- result = witTypes.Ok[bool, wasi_sockets_0_2_8_network.ErrorCode]((uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 1))) != 0))
- case 1:
-
- result = witTypes.Err[bool, wasi_sockets_0_2_8_network.ErrorCode](uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 1)))))
- default:
- panic("unreachable")
- }
- result0 := result
- return result0
-
-}
-
-//go:wasmimport wasi:sockets/tcp@0.2.8 [method]tcp-socket.set-keep-alive-enabled
-func wasm_import_method_tcp_socket_set_keep_alive_enabled(arg0 int32, arg1 int32, arg2 uintptr)
-
-func (self *TcpSocket) SetKeepAliveEnabled(value bool) witTypes.Result[witTypes.Unit, wasi_sockets_0_2_8_network.ErrorCode] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 2, 1))
- var result int32
- if value {
- result = 1
- } else {
- result = 0
- }
- wasm_import_method_tcp_socket_set_keep_alive_enabled((self).Handle(), result, returnArea)
- var result0 witTypes.Result[witTypes.Unit, wasi_sockets_0_2_8_network.ErrorCode]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- result0 = witTypes.Ok[witTypes.Unit, wasi_sockets_0_2_8_network.ErrorCode](witTypes.Unit{})
- case 1:
-
- result0 = witTypes.Err[witTypes.Unit, wasi_sockets_0_2_8_network.ErrorCode](uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 1)))))
- default:
- panic("unreachable")
- }
- result1 := result0
- return result1
-
-}
-
-//go:wasmimport wasi:sockets/tcp@0.2.8 [method]tcp-socket.keep-alive-idle-time
-func wasm_import_method_tcp_socket_keep_alive_idle_time(arg0 int32, arg1 uintptr)
-
-func (self *TcpSocket) KeepAliveIdleTime() witTypes.Result[uint64, wasi_sockets_0_2_8_network.ErrorCode] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 16, 8))
- wasm_import_method_tcp_socket_keep_alive_idle_time((self).Handle(), returnArea)
- var result witTypes.Result[uint64, wasi_sockets_0_2_8_network.ErrorCode]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- result = witTypes.Ok[uint64, wasi_sockets_0_2_8_network.ErrorCode](uint64(*(*int64)(unsafe.Add(unsafe.Pointer(returnArea), 8))))
- case 1:
-
- result = witTypes.Err[uint64, wasi_sockets_0_2_8_network.ErrorCode](uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 8)))))
- default:
- panic("unreachable")
- }
- result0 := result
- return result0
-
-}
-
-//go:wasmimport wasi:sockets/tcp@0.2.8 [method]tcp-socket.set-keep-alive-idle-time
-func wasm_import_method_tcp_socket_set_keep_alive_idle_time(arg0 int32, arg1 int64, arg2 uintptr)
-
-func (self *TcpSocket) SetKeepAliveIdleTime(value uint64) witTypes.Result[witTypes.Unit, wasi_sockets_0_2_8_network.ErrorCode] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 2, 1))
- wasm_import_method_tcp_socket_set_keep_alive_idle_time((self).Handle(), int64(value), returnArea)
- var result witTypes.Result[witTypes.Unit, wasi_sockets_0_2_8_network.ErrorCode]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- result = witTypes.Ok[witTypes.Unit, wasi_sockets_0_2_8_network.ErrorCode](witTypes.Unit{})
- case 1:
-
- result = witTypes.Err[witTypes.Unit, wasi_sockets_0_2_8_network.ErrorCode](uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 1)))))
- default:
- panic("unreachable")
- }
- result0 := result
- return result0
-
-}
-
-//go:wasmimport wasi:sockets/tcp@0.2.8 [method]tcp-socket.keep-alive-interval
-func wasm_import_method_tcp_socket_keep_alive_interval(arg0 int32, arg1 uintptr)
-
-func (self *TcpSocket) KeepAliveInterval() witTypes.Result[uint64, wasi_sockets_0_2_8_network.ErrorCode] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 16, 8))
- wasm_import_method_tcp_socket_keep_alive_interval((self).Handle(), returnArea)
- var result witTypes.Result[uint64, wasi_sockets_0_2_8_network.ErrorCode]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- result = witTypes.Ok[uint64, wasi_sockets_0_2_8_network.ErrorCode](uint64(*(*int64)(unsafe.Add(unsafe.Pointer(returnArea), 8))))
- case 1:
-
- result = witTypes.Err[uint64, wasi_sockets_0_2_8_network.ErrorCode](uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 8)))))
- default:
- panic("unreachable")
- }
- result0 := result
- return result0
-
-}
-
-//go:wasmimport wasi:sockets/tcp@0.2.8 [method]tcp-socket.set-keep-alive-interval
-func wasm_import_method_tcp_socket_set_keep_alive_interval(arg0 int32, arg1 int64, arg2 uintptr)
-
-func (self *TcpSocket) SetKeepAliveInterval(value uint64) witTypes.Result[witTypes.Unit, wasi_sockets_0_2_8_network.ErrorCode] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 2, 1))
- wasm_import_method_tcp_socket_set_keep_alive_interval((self).Handle(), int64(value), returnArea)
- var result witTypes.Result[witTypes.Unit, wasi_sockets_0_2_8_network.ErrorCode]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- result = witTypes.Ok[witTypes.Unit, wasi_sockets_0_2_8_network.ErrorCode](witTypes.Unit{})
- case 1:
-
- result = witTypes.Err[witTypes.Unit, wasi_sockets_0_2_8_network.ErrorCode](uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 1)))))
- default:
- panic("unreachable")
- }
- result0 := result
- return result0
-
-}
-
-//go:wasmimport wasi:sockets/tcp@0.2.8 [method]tcp-socket.keep-alive-count
-func wasm_import_method_tcp_socket_keep_alive_count(arg0 int32, arg1 uintptr)
-
-func (self *TcpSocket) KeepAliveCount() witTypes.Result[uint32, wasi_sockets_0_2_8_network.ErrorCode] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 8, 4))
- wasm_import_method_tcp_socket_keep_alive_count((self).Handle(), returnArea)
- var result witTypes.Result[uint32, wasi_sockets_0_2_8_network.ErrorCode]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- result = witTypes.Ok[uint32, wasi_sockets_0_2_8_network.ErrorCode](uint32(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 4))))
- case 1:
-
- result = witTypes.Err[uint32, wasi_sockets_0_2_8_network.ErrorCode](uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 4)))))
- default:
- panic("unreachable")
- }
- result0 := result
- return result0
-
-}
-
-//go:wasmimport wasi:sockets/tcp@0.2.8 [method]tcp-socket.set-keep-alive-count
-func wasm_import_method_tcp_socket_set_keep_alive_count(arg0 int32, arg1 int32, arg2 uintptr)
-
-func (self *TcpSocket) SetKeepAliveCount(value uint32) witTypes.Result[witTypes.Unit, wasi_sockets_0_2_8_network.ErrorCode] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 2, 1))
- wasm_import_method_tcp_socket_set_keep_alive_count((self).Handle(), int32(value), returnArea)
- var result witTypes.Result[witTypes.Unit, wasi_sockets_0_2_8_network.ErrorCode]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- result = witTypes.Ok[witTypes.Unit, wasi_sockets_0_2_8_network.ErrorCode](witTypes.Unit{})
- case 1:
-
- result = witTypes.Err[witTypes.Unit, wasi_sockets_0_2_8_network.ErrorCode](uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 1)))))
- default:
- panic("unreachable")
- }
- result0 := result
- return result0
-
-}
-
-//go:wasmimport wasi:sockets/tcp@0.2.8 [method]tcp-socket.hop-limit
-func wasm_import_method_tcp_socket_hop_limit(arg0 int32, arg1 uintptr)
-
-func (self *TcpSocket) HopLimit() witTypes.Result[uint8, wasi_sockets_0_2_8_network.ErrorCode] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 2, 1))
- wasm_import_method_tcp_socket_hop_limit((self).Handle(), returnArea)
- var result witTypes.Result[uint8, wasi_sockets_0_2_8_network.ErrorCode]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- result = witTypes.Ok[uint8, wasi_sockets_0_2_8_network.ErrorCode](uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 1)))))
- case 1:
-
- result = witTypes.Err[uint8, wasi_sockets_0_2_8_network.ErrorCode](uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 1)))))
- default:
- panic("unreachable")
- }
- result0 := result
- return result0
-
-}
-
-//go:wasmimport wasi:sockets/tcp@0.2.8 [method]tcp-socket.set-hop-limit
-func wasm_import_method_tcp_socket_set_hop_limit(arg0 int32, arg1 int32, arg2 uintptr)
-
-func (self *TcpSocket) SetHopLimit(value uint8) witTypes.Result[witTypes.Unit, wasi_sockets_0_2_8_network.ErrorCode] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 2, 1))
- wasm_import_method_tcp_socket_set_hop_limit((self).Handle(), int32(value), returnArea)
- var result witTypes.Result[witTypes.Unit, wasi_sockets_0_2_8_network.ErrorCode]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- result = witTypes.Ok[witTypes.Unit, wasi_sockets_0_2_8_network.ErrorCode](witTypes.Unit{})
- case 1:
-
- result = witTypes.Err[witTypes.Unit, wasi_sockets_0_2_8_network.ErrorCode](uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 1)))))
- default:
- panic("unreachable")
- }
- result0 := result
- return result0
-
-}
-
-//go:wasmimport wasi:sockets/tcp@0.2.8 [method]tcp-socket.receive-buffer-size
-func wasm_import_method_tcp_socket_receive_buffer_size(arg0 int32, arg1 uintptr)
-
-func (self *TcpSocket) ReceiveBufferSize() witTypes.Result[uint64, wasi_sockets_0_2_8_network.ErrorCode] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 16, 8))
- wasm_import_method_tcp_socket_receive_buffer_size((self).Handle(), returnArea)
- var result witTypes.Result[uint64, wasi_sockets_0_2_8_network.ErrorCode]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- result = witTypes.Ok[uint64, wasi_sockets_0_2_8_network.ErrorCode](uint64(*(*int64)(unsafe.Add(unsafe.Pointer(returnArea), 8))))
- case 1:
-
- result = witTypes.Err[uint64, wasi_sockets_0_2_8_network.ErrorCode](uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 8)))))
- default:
- panic("unreachable")
- }
- result0 := result
- return result0
-
-}
-
-//go:wasmimport wasi:sockets/tcp@0.2.8 [method]tcp-socket.set-receive-buffer-size
-func wasm_import_method_tcp_socket_set_receive_buffer_size(arg0 int32, arg1 int64, arg2 uintptr)
-
-func (self *TcpSocket) SetReceiveBufferSize(value uint64) witTypes.Result[witTypes.Unit, wasi_sockets_0_2_8_network.ErrorCode] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 2, 1))
- wasm_import_method_tcp_socket_set_receive_buffer_size((self).Handle(), int64(value), returnArea)
- var result witTypes.Result[witTypes.Unit, wasi_sockets_0_2_8_network.ErrorCode]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- result = witTypes.Ok[witTypes.Unit, wasi_sockets_0_2_8_network.ErrorCode](witTypes.Unit{})
- case 1:
-
- result = witTypes.Err[witTypes.Unit, wasi_sockets_0_2_8_network.ErrorCode](uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 1)))))
- default:
- panic("unreachable")
- }
- result0 := result
- return result0
-
-}
-
-//go:wasmimport wasi:sockets/tcp@0.2.8 [method]tcp-socket.send-buffer-size
-func wasm_import_method_tcp_socket_send_buffer_size(arg0 int32, arg1 uintptr)
-
-func (self *TcpSocket) SendBufferSize() witTypes.Result[uint64, wasi_sockets_0_2_8_network.ErrorCode] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 16, 8))
- wasm_import_method_tcp_socket_send_buffer_size((self).Handle(), returnArea)
- var result witTypes.Result[uint64, wasi_sockets_0_2_8_network.ErrorCode]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- result = witTypes.Ok[uint64, wasi_sockets_0_2_8_network.ErrorCode](uint64(*(*int64)(unsafe.Add(unsafe.Pointer(returnArea), 8))))
- case 1:
-
- result = witTypes.Err[uint64, wasi_sockets_0_2_8_network.ErrorCode](uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 8)))))
- default:
- panic("unreachable")
- }
- result0 := result
- return result0
-
-}
-
-//go:wasmimport wasi:sockets/tcp@0.2.8 [method]tcp-socket.set-send-buffer-size
-func wasm_import_method_tcp_socket_set_send_buffer_size(arg0 int32, arg1 int64, arg2 uintptr)
-
-func (self *TcpSocket) SetSendBufferSize(value uint64) witTypes.Result[witTypes.Unit, wasi_sockets_0_2_8_network.ErrorCode] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 2, 1))
- wasm_import_method_tcp_socket_set_send_buffer_size((self).Handle(), int64(value), returnArea)
- var result witTypes.Result[witTypes.Unit, wasi_sockets_0_2_8_network.ErrorCode]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- result = witTypes.Ok[witTypes.Unit, wasi_sockets_0_2_8_network.ErrorCode](witTypes.Unit{})
- case 1:
-
- result = witTypes.Err[witTypes.Unit, wasi_sockets_0_2_8_network.ErrorCode](uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 1)))))
- default:
- panic("unreachable")
- }
- result0 := result
- return result0
-
-}
-
-//go:wasmimport wasi:sockets/tcp@0.2.8 [method]tcp-socket.subscribe
-func wasm_import_method_tcp_socket_subscribe(arg0 int32) int32
-
-func (self *TcpSocket) Subscribe() *wasi_io_0_2_8_poll.Pollable {
-
- result := wasm_import_method_tcp_socket_subscribe((self).Handle())
- return wasi_io_0_2_8_poll.PollableFromOwnHandle(int32(uintptr(result)))
-
-}
-
-//go:wasmimport wasi:sockets/tcp@0.2.8 [method]tcp-socket.shutdown
-func wasm_import_method_tcp_socket_shutdown(arg0 int32, arg1 int32, arg2 uintptr)
-
-func (self *TcpSocket) Shutdown(shutdownType ShutdownType) witTypes.Result[witTypes.Unit, wasi_sockets_0_2_8_network.ErrorCode] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 2, 1))
- wasm_import_method_tcp_socket_shutdown((self).Handle(), int32(shutdownType), returnArea)
- var result witTypes.Result[witTypes.Unit, wasi_sockets_0_2_8_network.ErrorCode]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- result = witTypes.Ok[witTypes.Unit, wasi_sockets_0_2_8_network.ErrorCode](witTypes.Unit{})
- case 1:
-
- result = witTypes.Err[witTypes.Unit, wasi_sockets_0_2_8_network.ErrorCode](uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 1)))))
- default:
- panic("unreachable")
- }
- result0 := result
- return result0
-
-}
diff --git a/imports/wasi_sockets_0_2_8_tcp_create_socket/empty.s b/imports/wasi_sockets_0_2_8_tcp_create_socket/empty.s
deleted file mode 100644
index 308ab60..0000000
--- a/imports/wasi_sockets_0_2_8_tcp_create_socket/empty.s
+++ /dev/null
@@ -1,3 +0,0 @@
-// This file exists for testing this package without WebAssembly,
-// allowing empty function bodies with a //go:wasmimport directive.
-// See https://pkg.go.dev/cmd/compile for more information.
\ No newline at end of file
diff --git a/imports/wasi_sockets_0_2_8_tcp_create_socket/wit_bindings.go b/imports/wasi_sockets_0_2_8_tcp_create_socket/wit_bindings.go
deleted file mode 100644
index 9e00d9d..0000000
--- a/imports/wasi_sockets_0_2_8_tcp_create_socket/wit_bindings.go
+++ /dev/null
@@ -1,60 +0,0 @@
-// Generated by `wit-bindgen` 0.62.0. DO NOT EDIT!
-//
-// This code was generated from the following packages:
-// wasi:io@0.2.8
-// wasi:clocks@0.2.8
-// wasi:filesystem@0.2.8
-// wasi:sockets@0.2.8
-// wasi:random@0.2.8
-// wasi:cli@0.2.8
-// wasi:config@0.2.0-rc.1
-// wasi:logging@0.1.0-draft
-// wasi:http@0.2.8
-// wasi:clocks@0.3.0
-// wasi:filesystem@0.3.0
-// wasi:sockets@0.3.0
-// wasi:random@0.3.0
-// wasi:cli@0.3.0
-// wasi:http@0.3.0
-// bytecodealliance:pkg@0.1.0
-
-package wasi_sockets_0_2_8_tcp_create_socket
-
-import (
- "go.bytecodealliance.org/pkg/imports/wasi_sockets_0_2_8_network"
- "go.bytecodealliance.org/pkg/imports/wasi_sockets_0_2_8_tcp"
- witRuntime "go.bytecodealliance.org/pkg/wit/runtime"
- witTypes "go.bytecodealliance.org/pkg/wit/types"
- "runtime"
- "unsafe"
-)
-
-type Network = wasi_sockets_0_2_8_network.Network
-type ErrorCode = wasi_sockets_0_2_8_network.ErrorCode
-type IpAddressFamily = wasi_sockets_0_2_8_network.IpAddressFamily
-type TcpSocket = wasi_sockets_0_2_8_tcp.TcpSocket
-
-//go:wasmimport wasi:sockets/tcp-create-socket@0.2.8 create-tcp-socket
-func wasm_import_create_tcp_socket(arg0 int32, arg1 uintptr)
-
-func CreateTcpSocket(addressFamily wasi_sockets_0_2_8_network.IpAddressFamily) witTypes.Result[*wasi_sockets_0_2_8_tcp.TcpSocket, wasi_sockets_0_2_8_network.ErrorCode] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 8, 4))
- wasm_import_create_tcp_socket(int32(addressFamily), returnArea)
- var result witTypes.Result[*wasi_sockets_0_2_8_tcp.TcpSocket, wasi_sockets_0_2_8_network.ErrorCode]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- result = witTypes.Ok[*wasi_sockets_0_2_8_tcp.TcpSocket, wasi_sockets_0_2_8_network.ErrorCode](wasi_sockets_0_2_8_tcp.TcpSocketFromOwnHandle(int32(uintptr(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 4))))))
- case 1:
-
- result = witTypes.Err[*wasi_sockets_0_2_8_tcp.TcpSocket, wasi_sockets_0_2_8_network.ErrorCode](uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 4)))))
- default:
- panic("unreachable")
- }
- result0 := result
- return result0
-
-}
diff --git a/imports/wasi_sockets_0_2_8_udp/empty.s b/imports/wasi_sockets_0_2_8_udp/empty.s
deleted file mode 100644
index 308ab60..0000000
--- a/imports/wasi_sockets_0_2_8_udp/empty.s
+++ /dev/null
@@ -1,3 +0,0 @@
-// This file exists for testing this package without WebAssembly,
-// allowing empty function bodies with a //go:wasmimport directive.
-// See https://pkg.go.dev/cmd/compile for more information.
\ No newline at end of file
diff --git a/imports/wasi_sockets_0_2_8_udp/wit_bindings.go b/imports/wasi_sockets_0_2_8_udp/wit_bindings.go
deleted file mode 100644
index b1adfe5..0000000
--- a/imports/wasi_sockets_0_2_8_udp/wit_bindings.go
+++ /dev/null
@@ -1,827 +0,0 @@
-// Generated by `wit-bindgen` 0.62.0. DO NOT EDIT!
-//
-// This code was generated from the following packages:
-// wasi:io@0.2.8
-// wasi:clocks@0.2.8
-// wasi:filesystem@0.2.8
-// wasi:sockets@0.2.8
-// wasi:random@0.2.8
-// wasi:cli@0.2.8
-// wasi:config@0.2.0-rc.1
-// wasi:logging@0.1.0-draft
-// wasi:http@0.2.8
-// wasi:clocks@0.3.0
-// wasi:filesystem@0.3.0
-// wasi:sockets@0.3.0
-// wasi:random@0.3.0
-// wasi:cli@0.3.0
-// wasi:http@0.3.0
-// bytecodealliance:pkg@0.1.0
-
-package wasi_sockets_0_2_8_udp
-
-import (
- "go.bytecodealliance.org/pkg/imports/wasi_io_0_2_8_poll"
- "go.bytecodealliance.org/pkg/imports/wasi_sockets_0_2_8_network"
- witRuntime "go.bytecodealliance.org/pkg/wit/runtime"
- witTypes "go.bytecodealliance.org/pkg/wit/types"
- "runtime"
- "unsafe"
-)
-
-type Pollable = wasi_io_0_2_8_poll.Pollable
-type Network = wasi_sockets_0_2_8_network.Network
-type ErrorCode = wasi_sockets_0_2_8_network.ErrorCode
-type IpSocketAddress = wasi_sockets_0_2_8_network.IpSocketAddress
-type IpAddressFamily = wasi_sockets_0_2_8_network.IpAddressFamily
-
-// A received datagram.
-type IncomingDatagram struct {
- // The payload.
- //
- // Theoretical max size: ~64 KiB. In practice, typically less than 1500 bytes.
- Data []uint8
- // The source address.
- //
- // This field is guaranteed to match the remote address the stream was initialized with, if any.
- //
- // Equivalent to the `src_addr` out parameter of `recvfrom`.
- RemoteAddress wasi_sockets_0_2_8_network.IpSocketAddress
-}
-
-// A datagram to be sent out.
-type OutgoingDatagram struct {
- // The payload.
- Data []uint8
- // The destination address.
- //
- // The requirements on this field depend on how the stream was initialized:
- // - with a remote address: this field must be None or match the stream's remote address exactly.
- // - without a remote address: this field is required.
- //
- // If this value is None, the send operation is equivalent to `send` in POSIX. Otherwise it is equivalent to `sendto`.
- RemoteAddress witTypes.Option[wasi_sockets_0_2_8_network.IpSocketAddress]
-}
-
-//go:wasmimport wasi:sockets/udp@0.2.8 [resource-drop]udp-socket
-func resourceDropUdpSocket(handle int32)
-
-// A UDP socket handle.
-type UdpSocket struct {
- handle *witRuntime.Handle
-}
-
-func (self *UdpSocket) TakeHandle() int32 {
- return self.handle.Take()
-}
-
-func (self *UdpSocket) SetHandle(handle int32) {
- self.handle.Set(handle)
-}
-
-func (self *UdpSocket) Handle() int32 {
- return self.handle.Use()
-}
-
-func (self *UdpSocket) Drop() {
- handle := self.handle.TakeOrNil()
- if handle != 0 {
- resourceDropUdpSocket(handle)
- }
-}
-
-func UdpSocketFromOwnHandle(handleValue int32) *UdpSocket {
- handle := witRuntime.MakeHandle(handleValue)
- value := &UdpSocket{handle}
- runtime.AddCleanup(value, func(_ int) {
- handleValue := handle.TakeOrNil()
- if handleValue != 0 {
- resourceDropUdpSocket(handleValue)
- }
- }, 0)
- return value
-}
-
-func UdpSocketFromBorrowHandle(handleValue int32) *UdpSocket {
- handle := witRuntime.MakeHandle(handleValue)
- return &UdpSocket{handle}
-}
-
-//go:wasmimport wasi:sockets/udp@0.2.8 [resource-drop]incoming-datagram-stream
-func resourceDropIncomingDatagramStream(handle int32)
-
-type IncomingDatagramStream struct {
- handle *witRuntime.Handle
-}
-
-func (self *IncomingDatagramStream) TakeHandle() int32 {
- return self.handle.Take()
-}
-
-func (self *IncomingDatagramStream) SetHandle(handle int32) {
- self.handle.Set(handle)
-}
-
-func (self *IncomingDatagramStream) Handle() int32 {
- return self.handle.Use()
-}
-
-func (self *IncomingDatagramStream) Drop() {
- handle := self.handle.TakeOrNil()
- if handle != 0 {
- resourceDropIncomingDatagramStream(handle)
- }
-}
-
-func IncomingDatagramStreamFromOwnHandle(handleValue int32) *IncomingDatagramStream {
- handle := witRuntime.MakeHandle(handleValue)
- value := &IncomingDatagramStream{handle}
- runtime.AddCleanup(value, func(_ int) {
- handleValue := handle.TakeOrNil()
- if handleValue != 0 {
- resourceDropIncomingDatagramStream(handleValue)
- }
- }, 0)
- return value
-}
-
-func IncomingDatagramStreamFromBorrowHandle(handleValue int32) *IncomingDatagramStream {
- handle := witRuntime.MakeHandle(handleValue)
- return &IncomingDatagramStream{handle}
-}
-
-//go:wasmimport wasi:sockets/udp@0.2.8 [resource-drop]outgoing-datagram-stream
-func resourceDropOutgoingDatagramStream(handle int32)
-
-type OutgoingDatagramStream struct {
- handle *witRuntime.Handle
-}
-
-func (self *OutgoingDatagramStream) TakeHandle() int32 {
- return self.handle.Take()
-}
-
-func (self *OutgoingDatagramStream) SetHandle(handle int32) {
- self.handle.Set(handle)
-}
-
-func (self *OutgoingDatagramStream) Handle() int32 {
- return self.handle.Use()
-}
-
-func (self *OutgoingDatagramStream) Drop() {
- handle := self.handle.TakeOrNil()
- if handle != 0 {
- resourceDropOutgoingDatagramStream(handle)
- }
-}
-
-func OutgoingDatagramStreamFromOwnHandle(handleValue int32) *OutgoingDatagramStream {
- handle := witRuntime.MakeHandle(handleValue)
- value := &OutgoingDatagramStream{handle}
- runtime.AddCleanup(value, func(_ int) {
- handleValue := handle.TakeOrNil()
- if handleValue != 0 {
- resourceDropOutgoingDatagramStream(handleValue)
- }
- }, 0)
- return value
-}
-
-func OutgoingDatagramStreamFromBorrowHandle(handleValue int32) *OutgoingDatagramStream {
- handle := witRuntime.MakeHandle(handleValue)
- return &OutgoingDatagramStream{handle}
-}
-
-//go:wasmimport wasi:sockets/udp@0.2.8 [method]udp-socket.start-bind
-func wasm_import_method_udp_socket_start_bind(arg0 int32, arg1 int32, arg2 int32, arg3 int32, arg4 int32, arg5 int32, arg6 int32, arg7 int32, arg8 int32, arg9 int32, arg10 int32, arg11 int32, arg12 int32, arg13 int32, arg14 uintptr)
-
-func (self *UdpSocket) StartBind(network *wasi_sockets_0_2_8_network.Network, localAddress wasi_sockets_0_2_8_network.IpSocketAddress) witTypes.Result[witTypes.Unit, wasi_sockets_0_2_8_network.ErrorCode] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 2, 1))
- var variant int32
- var variant0 int32
- var variant1 int32
- var variant2 int32
- var variant3 int32
- var variant4 int32
- var variant5 int32
- var variant6 int32
- var variant7 int32
- var variant8 int32
- var variant9 int32
- var variant10 int32
- switch localAddress.Tag() {
- case wasi_sockets_0_2_8_network.IpSocketAddress_Ipv4:
- payload := localAddress.Ipv4()
-
- variant = int32(0)
- variant0 = int32((payload).Port)
- variant1 = int32(((payload).Address).F0)
- variant2 = int32(((payload).Address).F1)
- variant3 = int32(((payload).Address).F2)
- variant4 = int32(((payload).Address).F3)
- variant5 = 0
- variant6 = 0
- variant7 = 0
- variant8 = 0
- variant9 = 0
- variant10 = 0
-
- case wasi_sockets_0_2_8_network.IpSocketAddress_Ipv6:
- payload := localAddress.Ipv6()
-
- variant = int32(1)
- variant0 = int32((payload).Port)
- variant1 = int32((payload).FlowInfo)
- variant2 = int32(((payload).Address).F0)
- variant3 = int32(((payload).Address).F1)
- variant4 = int32(((payload).Address).F2)
- variant5 = int32(((payload).Address).F3)
- variant6 = int32(((payload).Address).F4)
- variant7 = int32(((payload).Address).F5)
- variant8 = int32(((payload).Address).F6)
- variant9 = int32(((payload).Address).F7)
- variant10 = int32((payload).ScopeId)
-
- default:
- panic("unreachable")
- }
- wasm_import_method_udp_socket_start_bind((self).Handle(), (network).Handle(), variant, variant0, variant1, variant2, variant3, variant4, variant5, variant6, variant7, variant8, variant9, variant10, returnArea)
- var result witTypes.Result[witTypes.Unit, wasi_sockets_0_2_8_network.ErrorCode]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- result = witTypes.Ok[witTypes.Unit, wasi_sockets_0_2_8_network.ErrorCode](witTypes.Unit{})
- case 1:
-
- result = witTypes.Err[witTypes.Unit, wasi_sockets_0_2_8_network.ErrorCode](uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 1)))))
- default:
- panic("unreachable")
- }
- result11 := result
- return result11
-
-}
-
-//go:wasmimport wasi:sockets/udp@0.2.8 [method]udp-socket.finish-bind
-func wasm_import_method_udp_socket_finish_bind(arg0 int32, arg1 uintptr)
-
-func (self *UdpSocket) FinishBind() witTypes.Result[witTypes.Unit, wasi_sockets_0_2_8_network.ErrorCode] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 2, 1))
- wasm_import_method_udp_socket_finish_bind((self).Handle(), returnArea)
- var result witTypes.Result[witTypes.Unit, wasi_sockets_0_2_8_network.ErrorCode]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- result = witTypes.Ok[witTypes.Unit, wasi_sockets_0_2_8_network.ErrorCode](witTypes.Unit{})
- case 1:
-
- result = witTypes.Err[witTypes.Unit, wasi_sockets_0_2_8_network.ErrorCode](uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 1)))))
- default:
- panic("unreachable")
- }
- result0 := result
- return result0
-
-}
-
-//go:wasmimport wasi:sockets/udp@0.2.8 [method]udp-socket.stream
-func wasm_import_method_udp_socket_stream(arg0 int32, arg1 int32, arg2 int32, arg3 int32, arg4 int32, arg5 int32, arg6 int32, arg7 int32, arg8 int32, arg9 int32, arg10 int32, arg11 int32, arg12 int32, arg13 int32, arg14 uintptr)
-
-func (self *UdpSocket) Stream(remoteAddress witTypes.Option[wasi_sockets_0_2_8_network.IpSocketAddress]) witTypes.Result[witTypes.Tuple2[*IncomingDatagramStream, *OutgoingDatagramStream], wasi_sockets_0_2_8_network.ErrorCode] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 12, 4))
- var option int32
- var option11 int32
- var option12 int32
- var option13 int32
- var option14 int32
- var option15 int32
- var option16 int32
- var option17 int32
- var option18 int32
- var option19 int32
- var option20 int32
- var option21 int32
- var option22 int32
- switch remoteAddress.Tag() {
- case witTypes.OptionNone:
-
- option = int32(0)
- option11 = 0
- option12 = 0
- option13 = 0
- option14 = 0
- option15 = 0
- option16 = 0
- option17 = 0
- option18 = 0
- option19 = 0
- option20 = 0
- option21 = 0
- option22 = 0
- case witTypes.OptionSome:
- payload := remoteAddress.Some()
- var variant int32
- var variant0 int32
- var variant1 int32
- var variant2 int32
- var variant3 int32
- var variant4 int32
- var variant5 int32
- var variant6 int32
- var variant7 int32
- var variant8 int32
- var variant9 int32
- var variant10 int32
- switch payload.Tag() {
- case wasi_sockets_0_2_8_network.IpSocketAddress_Ipv4:
- payload := payload.Ipv4()
-
- variant = int32(0)
- variant0 = int32((payload).Port)
- variant1 = int32(((payload).Address).F0)
- variant2 = int32(((payload).Address).F1)
- variant3 = int32(((payload).Address).F2)
- variant4 = int32(((payload).Address).F3)
- variant5 = 0
- variant6 = 0
- variant7 = 0
- variant8 = 0
- variant9 = 0
- variant10 = 0
-
- case wasi_sockets_0_2_8_network.IpSocketAddress_Ipv6:
- payload := payload.Ipv6()
-
- variant = int32(1)
- variant0 = int32((payload).Port)
- variant1 = int32((payload).FlowInfo)
- variant2 = int32(((payload).Address).F0)
- variant3 = int32(((payload).Address).F1)
- variant4 = int32(((payload).Address).F2)
- variant5 = int32(((payload).Address).F3)
- variant6 = int32(((payload).Address).F4)
- variant7 = int32(((payload).Address).F5)
- variant8 = int32(((payload).Address).F6)
- variant9 = int32(((payload).Address).F7)
- variant10 = int32((payload).ScopeId)
-
- default:
- panic("unreachable")
- }
-
- option = int32(1)
- option11 = variant
- option12 = variant0
- option13 = variant1
- option14 = variant2
- option15 = variant3
- option16 = variant4
- option17 = variant5
- option18 = variant6
- option19 = variant7
- option20 = variant8
- option21 = variant9
- option22 = variant10
- default:
- panic("unreachable")
- }
- wasm_import_method_udp_socket_stream((self).Handle(), option, option11, option12, option13, option14, option15, option16, option17, option18, option19, option20, option21, option22, returnArea)
- var result witTypes.Result[witTypes.Tuple2[*IncomingDatagramStream, *OutgoingDatagramStream], wasi_sockets_0_2_8_network.ErrorCode]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- result = witTypes.Ok[witTypes.Tuple2[*IncomingDatagramStream, *OutgoingDatagramStream], wasi_sockets_0_2_8_network.ErrorCode](witTypes.Tuple2[*IncomingDatagramStream, *OutgoingDatagramStream]{F0: IncomingDatagramStreamFromOwnHandle(int32(uintptr(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 4))))), F1: OutgoingDatagramStreamFromOwnHandle(int32(uintptr(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 8)))))})
- case 1:
-
- result = witTypes.Err[witTypes.Tuple2[*IncomingDatagramStream, *OutgoingDatagramStream], wasi_sockets_0_2_8_network.ErrorCode](uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 4)))))
- default:
- panic("unreachable")
- }
- result23 := result
- return result23
-
-}
-
-//go:wasmimport wasi:sockets/udp@0.2.8 [method]udp-socket.local-address
-func wasm_import_method_udp_socket_local_address(arg0 int32, arg1 uintptr)
-
-func (self *UdpSocket) LocalAddress() witTypes.Result[wasi_sockets_0_2_8_network.IpSocketAddress, wasi_sockets_0_2_8_network.ErrorCode] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 36, 4))
- wasm_import_method_udp_socket_local_address((self).Handle(), returnArea)
- var result witTypes.Result[wasi_sockets_0_2_8_network.IpSocketAddress, wasi_sockets_0_2_8_network.ErrorCode]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
- var variant wasi_sockets_0_2_8_network.IpSocketAddress
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 4))) {
- case 0:
-
- variant = wasi_sockets_0_2_8_network.MakeIpSocketAddressIpv4(wasi_sockets_0_2_8_network.Ipv4SocketAddress{Port: uint16(uint16(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 8)))), Address: witTypes.Tuple4[uint8, uint8, uint8, uint8]{F0: uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 10)))), F1: uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 11)))), F2: uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 12)))), F3: uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 13))))}})
-
- case 1:
-
- variant = wasi_sockets_0_2_8_network.MakeIpSocketAddressIpv6(wasi_sockets_0_2_8_network.Ipv6SocketAddress{Port: uint16(uint16(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 8)))), FlowInfo: uint32(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 12))), Address: witTypes.Tuple8[uint16, uint16, uint16, uint16, uint16, uint16, uint16, uint16]{F0: uint16(uint16(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 16)))), F1: uint16(uint16(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 18)))), F2: uint16(uint16(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 20)))), F3: uint16(uint16(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 22)))), F4: uint16(uint16(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 24)))), F5: uint16(uint16(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 26)))), F6: uint16(uint16(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 28)))), F7: uint16(uint16(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 30))))}, ScopeId: uint32(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 32)))})
-
- default:
- panic("unreachable")
- }
-
- result = witTypes.Ok[wasi_sockets_0_2_8_network.IpSocketAddress, wasi_sockets_0_2_8_network.ErrorCode](variant)
- case 1:
-
- result = witTypes.Err[wasi_sockets_0_2_8_network.IpSocketAddress, wasi_sockets_0_2_8_network.ErrorCode](uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 4)))))
- default:
- panic("unreachable")
- }
- result0 := result
- return result0
-
-}
-
-//go:wasmimport wasi:sockets/udp@0.2.8 [method]udp-socket.remote-address
-func wasm_import_method_udp_socket_remote_address(arg0 int32, arg1 uintptr)
-
-func (self *UdpSocket) RemoteAddress() witTypes.Result[wasi_sockets_0_2_8_network.IpSocketAddress, wasi_sockets_0_2_8_network.ErrorCode] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 36, 4))
- wasm_import_method_udp_socket_remote_address((self).Handle(), returnArea)
- var result witTypes.Result[wasi_sockets_0_2_8_network.IpSocketAddress, wasi_sockets_0_2_8_network.ErrorCode]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
- var variant wasi_sockets_0_2_8_network.IpSocketAddress
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 4))) {
- case 0:
-
- variant = wasi_sockets_0_2_8_network.MakeIpSocketAddressIpv4(wasi_sockets_0_2_8_network.Ipv4SocketAddress{Port: uint16(uint16(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 8)))), Address: witTypes.Tuple4[uint8, uint8, uint8, uint8]{F0: uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 10)))), F1: uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 11)))), F2: uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 12)))), F3: uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 13))))}})
-
- case 1:
-
- variant = wasi_sockets_0_2_8_network.MakeIpSocketAddressIpv6(wasi_sockets_0_2_8_network.Ipv6SocketAddress{Port: uint16(uint16(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 8)))), FlowInfo: uint32(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 12))), Address: witTypes.Tuple8[uint16, uint16, uint16, uint16, uint16, uint16, uint16, uint16]{F0: uint16(uint16(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 16)))), F1: uint16(uint16(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 18)))), F2: uint16(uint16(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 20)))), F3: uint16(uint16(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 22)))), F4: uint16(uint16(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 24)))), F5: uint16(uint16(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 26)))), F6: uint16(uint16(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 28)))), F7: uint16(uint16(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 30))))}, ScopeId: uint32(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 32)))})
-
- default:
- panic("unreachable")
- }
-
- result = witTypes.Ok[wasi_sockets_0_2_8_network.IpSocketAddress, wasi_sockets_0_2_8_network.ErrorCode](variant)
- case 1:
-
- result = witTypes.Err[wasi_sockets_0_2_8_network.IpSocketAddress, wasi_sockets_0_2_8_network.ErrorCode](uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 4)))))
- default:
- panic("unreachable")
- }
- result0 := result
- return result0
-
-}
-
-//go:wasmimport wasi:sockets/udp@0.2.8 [method]udp-socket.address-family
-func wasm_import_method_udp_socket_address_family(arg0 int32) int32
-
-func (self *UdpSocket) AddressFamily() wasi_sockets_0_2_8_network.IpAddressFamily {
-
- result := wasm_import_method_udp_socket_address_family((self).Handle())
- return uint8(result)
-
-}
-
-//go:wasmimport wasi:sockets/udp@0.2.8 [method]udp-socket.unicast-hop-limit
-func wasm_import_method_udp_socket_unicast_hop_limit(arg0 int32, arg1 uintptr)
-
-func (self *UdpSocket) UnicastHopLimit() witTypes.Result[uint8, wasi_sockets_0_2_8_network.ErrorCode] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 2, 1))
- wasm_import_method_udp_socket_unicast_hop_limit((self).Handle(), returnArea)
- var result witTypes.Result[uint8, wasi_sockets_0_2_8_network.ErrorCode]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- result = witTypes.Ok[uint8, wasi_sockets_0_2_8_network.ErrorCode](uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 1)))))
- case 1:
-
- result = witTypes.Err[uint8, wasi_sockets_0_2_8_network.ErrorCode](uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 1)))))
- default:
- panic("unreachable")
- }
- result0 := result
- return result0
-
-}
-
-//go:wasmimport wasi:sockets/udp@0.2.8 [method]udp-socket.set-unicast-hop-limit
-func wasm_import_method_udp_socket_set_unicast_hop_limit(arg0 int32, arg1 int32, arg2 uintptr)
-
-func (self *UdpSocket) SetUnicastHopLimit(value uint8) witTypes.Result[witTypes.Unit, wasi_sockets_0_2_8_network.ErrorCode] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 2, 1))
- wasm_import_method_udp_socket_set_unicast_hop_limit((self).Handle(), int32(value), returnArea)
- var result witTypes.Result[witTypes.Unit, wasi_sockets_0_2_8_network.ErrorCode]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- result = witTypes.Ok[witTypes.Unit, wasi_sockets_0_2_8_network.ErrorCode](witTypes.Unit{})
- case 1:
-
- result = witTypes.Err[witTypes.Unit, wasi_sockets_0_2_8_network.ErrorCode](uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 1)))))
- default:
- panic("unreachable")
- }
- result0 := result
- return result0
-
-}
-
-//go:wasmimport wasi:sockets/udp@0.2.8 [method]udp-socket.receive-buffer-size
-func wasm_import_method_udp_socket_receive_buffer_size(arg0 int32, arg1 uintptr)
-
-func (self *UdpSocket) ReceiveBufferSize() witTypes.Result[uint64, wasi_sockets_0_2_8_network.ErrorCode] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 16, 8))
- wasm_import_method_udp_socket_receive_buffer_size((self).Handle(), returnArea)
- var result witTypes.Result[uint64, wasi_sockets_0_2_8_network.ErrorCode]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- result = witTypes.Ok[uint64, wasi_sockets_0_2_8_network.ErrorCode](uint64(*(*int64)(unsafe.Add(unsafe.Pointer(returnArea), 8))))
- case 1:
-
- result = witTypes.Err[uint64, wasi_sockets_0_2_8_network.ErrorCode](uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 8)))))
- default:
- panic("unreachable")
- }
- result0 := result
- return result0
-
-}
-
-//go:wasmimport wasi:sockets/udp@0.2.8 [method]udp-socket.set-receive-buffer-size
-func wasm_import_method_udp_socket_set_receive_buffer_size(arg0 int32, arg1 int64, arg2 uintptr)
-
-func (self *UdpSocket) SetReceiveBufferSize(value uint64) witTypes.Result[witTypes.Unit, wasi_sockets_0_2_8_network.ErrorCode] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 2, 1))
- wasm_import_method_udp_socket_set_receive_buffer_size((self).Handle(), int64(value), returnArea)
- var result witTypes.Result[witTypes.Unit, wasi_sockets_0_2_8_network.ErrorCode]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- result = witTypes.Ok[witTypes.Unit, wasi_sockets_0_2_8_network.ErrorCode](witTypes.Unit{})
- case 1:
-
- result = witTypes.Err[witTypes.Unit, wasi_sockets_0_2_8_network.ErrorCode](uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 1)))))
- default:
- panic("unreachable")
- }
- result0 := result
- return result0
-
-}
-
-//go:wasmimport wasi:sockets/udp@0.2.8 [method]udp-socket.send-buffer-size
-func wasm_import_method_udp_socket_send_buffer_size(arg0 int32, arg1 uintptr)
-
-func (self *UdpSocket) SendBufferSize() witTypes.Result[uint64, wasi_sockets_0_2_8_network.ErrorCode] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 16, 8))
- wasm_import_method_udp_socket_send_buffer_size((self).Handle(), returnArea)
- var result witTypes.Result[uint64, wasi_sockets_0_2_8_network.ErrorCode]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- result = witTypes.Ok[uint64, wasi_sockets_0_2_8_network.ErrorCode](uint64(*(*int64)(unsafe.Add(unsafe.Pointer(returnArea), 8))))
- case 1:
-
- result = witTypes.Err[uint64, wasi_sockets_0_2_8_network.ErrorCode](uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 8)))))
- default:
- panic("unreachable")
- }
- result0 := result
- return result0
-
-}
-
-//go:wasmimport wasi:sockets/udp@0.2.8 [method]udp-socket.set-send-buffer-size
-func wasm_import_method_udp_socket_set_send_buffer_size(arg0 int32, arg1 int64, arg2 uintptr)
-
-func (self *UdpSocket) SetSendBufferSize(value uint64) witTypes.Result[witTypes.Unit, wasi_sockets_0_2_8_network.ErrorCode] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 2, 1))
- wasm_import_method_udp_socket_set_send_buffer_size((self).Handle(), int64(value), returnArea)
- var result witTypes.Result[witTypes.Unit, wasi_sockets_0_2_8_network.ErrorCode]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- result = witTypes.Ok[witTypes.Unit, wasi_sockets_0_2_8_network.ErrorCode](witTypes.Unit{})
- case 1:
-
- result = witTypes.Err[witTypes.Unit, wasi_sockets_0_2_8_network.ErrorCode](uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 1)))))
- default:
- panic("unreachable")
- }
- result0 := result
- return result0
-
-}
-
-//go:wasmimport wasi:sockets/udp@0.2.8 [method]udp-socket.subscribe
-func wasm_import_method_udp_socket_subscribe(arg0 int32) int32
-
-func (self *UdpSocket) Subscribe() *wasi_io_0_2_8_poll.Pollable {
-
- result := wasm_import_method_udp_socket_subscribe((self).Handle())
- return wasi_io_0_2_8_poll.PollableFromOwnHandle(int32(uintptr(result)))
-
-}
-
-//go:wasmimport wasi:sockets/udp@0.2.8 [method]incoming-datagram-stream.receive
-func wasm_import_method_incoming_datagram_stream_receive(arg0 int32, arg1 int64, arg2 uintptr)
-
-func (self *IncomingDatagramStream) Receive(maxResults uint64) witTypes.Result[[]IncomingDatagram, wasi_sockets_0_2_8_network.ErrorCode] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, (3 * 4), 4))
- wasm_import_method_incoming_datagram_stream_receive((self).Handle(), int64(maxResults), returnArea)
- var result0 witTypes.Result[[]IncomingDatagram, wasi_sockets_0_2_8_network.ErrorCode]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
- result := make([]IncomingDatagram, 0, *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (2 * 4))))
- for index := 0; index < int(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), (2 * 4)))); index++ {
- base := unsafe.Add(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 4)))), index*(32+2*4))
- value := unsafe.Slice((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(base), 0))))), *(*uint32)(unsafe.Add(unsafe.Pointer(base), 4)))
- var variant wasi_sockets_0_2_8_network.IpSocketAddress
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(base), (2 * 4)))) {
- case 0:
-
- variant = wasi_sockets_0_2_8_network.MakeIpSocketAddressIpv4(wasi_sockets_0_2_8_network.Ipv4SocketAddress{Port: uint16(uint16(*(*uint32)(unsafe.Add(unsafe.Pointer(base), (4 + 2*4))))), Address: witTypes.Tuple4[uint8, uint8, uint8, uint8]{F0: uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(base), (6 + 2*4))))), F1: uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(base), (7 + 2*4))))), F2: uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(base), (8 + 2*4))))), F3: uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(base), (9 + 2*4)))))}})
-
- case 1:
-
- variant = wasi_sockets_0_2_8_network.MakeIpSocketAddressIpv6(wasi_sockets_0_2_8_network.Ipv6SocketAddress{Port: uint16(uint16(*(*uint32)(unsafe.Add(unsafe.Pointer(base), (4 + 2*4))))), FlowInfo: uint32(*(*int32)(unsafe.Add(unsafe.Pointer(base), (8 + 2*4)))), Address: witTypes.Tuple8[uint16, uint16, uint16, uint16, uint16, uint16, uint16, uint16]{F0: uint16(uint16(*(*uint32)(unsafe.Add(unsafe.Pointer(base), (12 + 2*4))))), F1: uint16(uint16(*(*uint32)(unsafe.Add(unsafe.Pointer(base), (14 + 2*4))))), F2: uint16(uint16(*(*uint32)(unsafe.Add(unsafe.Pointer(base), (16 + 2*4))))), F3: uint16(uint16(*(*uint32)(unsafe.Add(unsafe.Pointer(base), (18 + 2*4))))), F4: uint16(uint16(*(*uint32)(unsafe.Add(unsafe.Pointer(base), (20 + 2*4))))), F5: uint16(uint16(*(*uint32)(unsafe.Add(unsafe.Pointer(base), (22 + 2*4))))), F6: uint16(uint16(*(*uint32)(unsafe.Add(unsafe.Pointer(base), (24 + 2*4))))), F7: uint16(uint16(*(*uint32)(unsafe.Add(unsafe.Pointer(base), (26 + 2*4)))))}, ScopeId: uint32(*(*int32)(unsafe.Add(unsafe.Pointer(base), (28 + 2*4))))})
-
- default:
- panic("unreachable")
- }
-
- result = append(result, IncomingDatagram{Data: value, RemoteAddress: variant})
- }
-
- result0 = witTypes.Ok[[]IncomingDatagram, wasi_sockets_0_2_8_network.ErrorCode](result)
- case 1:
-
- result0 = witTypes.Err[[]IncomingDatagram, wasi_sockets_0_2_8_network.ErrorCode](uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 4)))))
- default:
- panic("unreachable")
- }
- result1 := result0
- return result1
-
-}
-
-//go:wasmimport wasi:sockets/udp@0.2.8 [method]incoming-datagram-stream.subscribe
-func wasm_import_method_incoming_datagram_stream_subscribe(arg0 int32) int32
-
-func (self *IncomingDatagramStream) Subscribe() *wasi_io_0_2_8_poll.Pollable {
-
- result := wasm_import_method_incoming_datagram_stream_subscribe((self).Handle())
- return wasi_io_0_2_8_poll.PollableFromOwnHandle(int32(uintptr(result)))
-
-}
-
-//go:wasmimport wasi:sockets/udp@0.2.8 [method]outgoing-datagram-stream.check-send
-func wasm_import_method_outgoing_datagram_stream_check_send(arg0 int32, arg1 uintptr)
-
-func (self *OutgoingDatagramStream) CheckSend() witTypes.Result[uint64, wasi_sockets_0_2_8_network.ErrorCode] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 16, 8))
- wasm_import_method_outgoing_datagram_stream_check_send((self).Handle(), returnArea)
- var result witTypes.Result[uint64, wasi_sockets_0_2_8_network.ErrorCode]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- result = witTypes.Ok[uint64, wasi_sockets_0_2_8_network.ErrorCode](uint64(*(*int64)(unsafe.Add(unsafe.Pointer(returnArea), 8))))
- case 1:
-
- result = witTypes.Err[uint64, wasi_sockets_0_2_8_network.ErrorCode](uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 8)))))
- default:
- panic("unreachable")
- }
- result0 := result
- return result0
-
-}
-
-//go:wasmimport wasi:sockets/udp@0.2.8 [method]outgoing-datagram-stream.send
-func wasm_import_method_outgoing_datagram_stream_send(arg0 int32, arg1 uintptr, arg2 uint32, arg3 uintptr)
-
-func (self *OutgoingDatagramStream) Send(datagrams []OutgoingDatagram) witTypes.Result[uint64, wasi_sockets_0_2_8_network.ErrorCode] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 16, 8))
- slice := datagrams
- length := uint32(len(slice))
- result := witRuntime.Allocate(pinner, uintptr(length*(32+3*4)), 4)
- for index, element := range slice {
- base := unsafe.Add(result, index*(32+3*4))
- data := unsafe.Pointer(unsafe.SliceData((element).Data))
- pinner.Pin(data)
- *(*uint32)(unsafe.Add(unsafe.Pointer(base), 4)) = uint32(uint32(len((element).Data)))
- *(*uint32)(unsafe.Add(unsafe.Pointer(base), 0)) = uint32(uintptr(uintptr(data)))
-
- switch (element).RemoteAddress.Tag() {
- case witTypes.OptionNone:
- *(*int8)(unsafe.Add(unsafe.Pointer(base), (2 * 4))) = int8(int32(0))
-
- case witTypes.OptionSome:
- payload := (element).RemoteAddress.Some()
- *(*int8)(unsafe.Add(unsafe.Pointer(base), (2 * 4))) = int8(int32(1))
-
- switch payload.Tag() {
- case wasi_sockets_0_2_8_network.IpSocketAddress_Ipv4:
- payload := payload.Ipv4()
- *(*int8)(unsafe.Add(unsafe.Pointer(base), (4 + 2*4))) = int8(int32(0))
- *(*int16)(unsafe.Add(unsafe.Pointer(base), (8 + 2*4))) = int16(int32((payload).Port))
- *(*int8)(unsafe.Add(unsafe.Pointer(base), (10 + 2*4))) = int8(int32(((payload).Address).F0))
- *(*int8)(unsafe.Add(unsafe.Pointer(base), (11 + 2*4))) = int8(int32(((payload).Address).F1))
- *(*int8)(unsafe.Add(unsafe.Pointer(base), (12 + 2*4))) = int8(int32(((payload).Address).F2))
- *(*int8)(unsafe.Add(unsafe.Pointer(base), (13 + 2*4))) = int8(int32(((payload).Address).F3))
-
- case wasi_sockets_0_2_8_network.IpSocketAddress_Ipv6:
- payload := payload.Ipv6()
- *(*int8)(unsafe.Add(unsafe.Pointer(base), (4 + 2*4))) = int8(int32(1))
- *(*int16)(unsafe.Add(unsafe.Pointer(base), (8 + 2*4))) = int16(int32((payload).Port))
- *(*int32)(unsafe.Add(unsafe.Pointer(base), (12 + 2*4))) = int32((payload).FlowInfo)
- *(*int16)(unsafe.Add(unsafe.Pointer(base), (16 + 2*4))) = int16(int32(((payload).Address).F0))
- *(*int16)(unsafe.Add(unsafe.Pointer(base), (18 + 2*4))) = int16(int32(((payload).Address).F1))
- *(*int16)(unsafe.Add(unsafe.Pointer(base), (20 + 2*4))) = int16(int32(((payload).Address).F2))
- *(*int16)(unsafe.Add(unsafe.Pointer(base), (22 + 2*4))) = int16(int32(((payload).Address).F3))
- *(*int16)(unsafe.Add(unsafe.Pointer(base), (24 + 2*4))) = int16(int32(((payload).Address).F4))
- *(*int16)(unsafe.Add(unsafe.Pointer(base), (26 + 2*4))) = int16(int32(((payload).Address).F5))
- *(*int16)(unsafe.Add(unsafe.Pointer(base), (28 + 2*4))) = int16(int32(((payload).Address).F6))
- *(*int16)(unsafe.Add(unsafe.Pointer(base), (30 + 2*4))) = int16(int32(((payload).Address).F7))
- *(*int32)(unsafe.Add(unsafe.Pointer(base), (32 + 2*4))) = int32((payload).ScopeId)
-
- default:
- panic("unreachable")
- }
-
- default:
- panic("unreachable")
- }
-
- }
-
- wasm_import_method_outgoing_datagram_stream_send((self).Handle(), uintptr(result), length, returnArea)
- var result0 witTypes.Result[uint64, wasi_sockets_0_2_8_network.ErrorCode]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- result0 = witTypes.Ok[uint64, wasi_sockets_0_2_8_network.ErrorCode](uint64(*(*int64)(unsafe.Add(unsafe.Pointer(returnArea), 8))))
- case 1:
-
- result0 = witTypes.Err[uint64, wasi_sockets_0_2_8_network.ErrorCode](uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 8)))))
- default:
- panic("unreachable")
- }
- result1 := result0
- return result1
-
-}
-
-//go:wasmimport wasi:sockets/udp@0.2.8 [method]outgoing-datagram-stream.subscribe
-func wasm_import_method_outgoing_datagram_stream_subscribe(arg0 int32) int32
-
-func (self *OutgoingDatagramStream) Subscribe() *wasi_io_0_2_8_poll.Pollable {
-
- result := wasm_import_method_outgoing_datagram_stream_subscribe((self).Handle())
- return wasi_io_0_2_8_poll.PollableFromOwnHandle(int32(uintptr(result)))
-
-}
diff --git a/imports/wasi_sockets_0_2_8_udp_create_socket/empty.s b/imports/wasi_sockets_0_2_8_udp_create_socket/empty.s
deleted file mode 100644
index 308ab60..0000000
--- a/imports/wasi_sockets_0_2_8_udp_create_socket/empty.s
+++ /dev/null
@@ -1,3 +0,0 @@
-// This file exists for testing this package without WebAssembly,
-// allowing empty function bodies with a //go:wasmimport directive.
-// See https://pkg.go.dev/cmd/compile for more information.
\ No newline at end of file
diff --git a/imports/wasi_sockets_0_2_8_udp_create_socket/wit_bindings.go b/imports/wasi_sockets_0_2_8_udp_create_socket/wit_bindings.go
deleted file mode 100644
index 97f2954..0000000
--- a/imports/wasi_sockets_0_2_8_udp_create_socket/wit_bindings.go
+++ /dev/null
@@ -1,60 +0,0 @@
-// Generated by `wit-bindgen` 0.62.0. DO NOT EDIT!
-//
-// This code was generated from the following packages:
-// wasi:io@0.2.8
-// wasi:clocks@0.2.8
-// wasi:filesystem@0.2.8
-// wasi:sockets@0.2.8
-// wasi:random@0.2.8
-// wasi:cli@0.2.8
-// wasi:config@0.2.0-rc.1
-// wasi:logging@0.1.0-draft
-// wasi:http@0.2.8
-// wasi:clocks@0.3.0
-// wasi:filesystem@0.3.0
-// wasi:sockets@0.3.0
-// wasi:random@0.3.0
-// wasi:cli@0.3.0
-// wasi:http@0.3.0
-// bytecodealliance:pkg@0.1.0
-
-package wasi_sockets_0_2_8_udp_create_socket
-
-import (
- "go.bytecodealliance.org/pkg/imports/wasi_sockets_0_2_8_network"
- "go.bytecodealliance.org/pkg/imports/wasi_sockets_0_2_8_udp"
- witRuntime "go.bytecodealliance.org/pkg/wit/runtime"
- witTypes "go.bytecodealliance.org/pkg/wit/types"
- "runtime"
- "unsafe"
-)
-
-type Network = wasi_sockets_0_2_8_network.Network
-type ErrorCode = wasi_sockets_0_2_8_network.ErrorCode
-type IpAddressFamily = wasi_sockets_0_2_8_network.IpAddressFamily
-type UdpSocket = wasi_sockets_0_2_8_udp.UdpSocket
-
-//go:wasmimport wasi:sockets/udp-create-socket@0.2.8 create-udp-socket
-func wasm_import_create_udp_socket(arg0 int32, arg1 uintptr)
-
-func CreateUdpSocket(addressFamily wasi_sockets_0_2_8_network.IpAddressFamily) witTypes.Result[*wasi_sockets_0_2_8_udp.UdpSocket, wasi_sockets_0_2_8_network.ErrorCode] {
- pinner := &runtime.Pinner{}
- defer pinner.Unpin()
-
- returnArea := uintptr(witRuntime.Allocate(pinner, 8, 4))
- wasm_import_create_udp_socket(int32(addressFamily), returnArea)
- var result witTypes.Result[*wasi_sockets_0_2_8_udp.UdpSocket, wasi_sockets_0_2_8_network.ErrorCode]
- switch uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))) {
- case 0:
-
- result = witTypes.Ok[*wasi_sockets_0_2_8_udp.UdpSocket, wasi_sockets_0_2_8_network.ErrorCode](wasi_sockets_0_2_8_udp.UdpSocketFromOwnHandle(int32(uintptr(*(*int32)(unsafe.Add(unsafe.Pointer(returnArea), 4))))))
- case 1:
-
- result = witTypes.Err[*wasi_sockets_0_2_8_udp.UdpSocket, wasi_sockets_0_2_8_network.ErrorCode](uint8(uint8(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 4)))))
- default:
- panic("unreachable")
- }
- result0 := result
- return result0
-
-}
diff --git a/internal/httpconv/httpconv.go b/internal/httpconv/httpconv.go
deleted file mode 100644
index ac3afa7..0000000
--- a/internal/httpconv/httpconv.go
+++ /dev/null
@@ -1,29 +0,0 @@
-// Package httpconv contains the pure-Go conversion logic shared by both the
-// sync (WASI P2) and async (WASI P3) implementations of the wasihttp
-// package. It has no dependency on generated wasm bindings, so it compiles,
-// tests, and benchmarks on the host.
-package httpconv
-
-import (
- "net/http"
-
- witTypes "go.bytecodealliance.org/pkg/wit/types"
-)
-
-// FieldValues converts a list of HTTP header values into the [][]uint8 shape
-// required by wasi:http `fields.set`.
-func FieldValues(vals []string) [][]uint8 {
- fieldVals := make([][]uint8, 0, len(vals))
- for _, val := range vals {
- fieldVals = append(fieldVals, []uint8(val))
- }
- return fieldVals
-}
-
-// AddEntries copies wasi:http field entries (as returned by `fields.entries`
-// / `fields.copy-all`) into a [net/http.Header] map.
-func AddEntries(dest http.Header, entries []witTypes.Tuple2[string, []uint8]) {
- for _, pair := range entries {
- dest.Add(pair.F0, string(pair.F1))
- }
-}
diff --git a/internal/httpconv/httpconv_test.go b/internal/httpconv/httpconv_test.go
deleted file mode 100644
index 9c0a6ed..0000000
--- a/internal/httpconv/httpconv_test.go
+++ /dev/null
@@ -1,96 +0,0 @@
-package httpconv
-
-import (
- "fmt"
- "net/http"
- "reflect"
- "testing"
-
- witTypes "go.bytecodealliance.org/pkg/wit/types"
-)
-
-func TestFieldValues(t *testing.T) {
- got := FieldValues([]string{"text/html", "application/json"})
- want := [][]uint8{[]uint8("text/html"), []uint8("application/json")}
- if !reflect.DeepEqual(got, want) {
- t.Errorf("FieldValues: got %v, want %v", got, want)
- }
-
- if got := FieldValues(nil); len(got) != 0 {
- t.Errorf("FieldValues(nil): got %v, want empty", got)
- }
-}
-
-func TestAddEntries(t *testing.T) {
- entries := []witTypes.Tuple2[string, []uint8]{
- {F0: "content-type", F1: []uint8("text/html")},
- {F0: "set-cookie", F1: []uint8("a=1")},
- {F0: "set-cookie", F1: []uint8("b=2")},
- }
-
- dest := http.Header{}
- AddEntries(dest, entries)
-
- want := http.Header{
- "Content-Type": {"text/html"},
- "Set-Cookie": {"a=1", "b=2"},
- }
- if !reflect.DeepEqual(dest, want) {
- t.Errorf("AddEntries: got %v, want %v", dest, want)
- }
-}
-
-// benchmarkEntries builds a realistic set of wasi:http field entries.
-func benchmarkEntries(n int) []witTypes.Tuple2[string, []uint8] {
- entries := make([]witTypes.Tuple2[string, []uint8], 0, n)
- for i := range n {
- entries = append(entries, witTypes.Tuple2[string, []uint8]{
- F0: fmt.Sprintf("x-custom-header-%d", i),
- F1: []uint8(fmt.Sprintf("value-%d-abcdefghijklmnopqrstuvwxyz", i)),
- })
- }
- return entries
-}
-
-// benchmarkHeader builds a realistic net/http.Header.
-func benchmarkHeader(n int) http.Header {
- h := http.Header{}
- for i := range n {
- h.Add(fmt.Sprintf("X-Custom-Header-%d", i), fmt.Sprintf("value-%d-abcdefghijklmnopqrstuvwxyz", i))
- }
- h.Add("Set-Cookie", "a=1")
- h.Add("Set-Cookie", "b=2")
- return h
-}
-
-func BenchmarkFieldValues(b *testing.B) {
- vals := []string{"text/html", "application/json", "a=1; Path=/; HttpOnly"}
- for b.Loop() {
- _ = FieldValues(vals)
- }
-}
-
-func BenchmarkAddEntries(b *testing.B) {
- for _, size := range []int{4, 16, 64} {
- b.Run(fmt.Sprintf("headers=%d", size), func(b *testing.B) {
- entries := benchmarkEntries(size)
- for b.Loop() {
- dest := http.Header{}
- AddEntries(dest, entries)
- }
- })
- }
-}
-
-func BenchmarkHeaderToFieldValues(b *testing.B) {
- for _, size := range []int{4, 16, 64} {
- b.Run(fmt.Sprintf("headers=%d", size), func(b *testing.B) {
- h := benchmarkHeader(size)
- for b.Loop() {
- for _, vals := range h {
- _ = FieldValues(vals)
- }
- }
- })
- }
-}
diff --git a/regenerate_bindings.sh b/regenerate_bindings.sh
deleted file mode 100755
index bdc6f33..0000000
--- a/regenerate_bindings.sh
+++ /dev/null
@@ -1,71 +0,0 @@
-#!/bin/bash
-set -euo pipefail
-
-# Regenerates the committed wit-bindgen bindings for this library.
-#
-# Uses the wit-bindgen binary from PATH by default; override with e.g.
-# WIT_BINDGEN=~/source/bytecodealliance/wit-bindgen/target/debug/wit-bindgen ./regenerate_bindings.sh
-WIT_BINDGEN="${WIT_BINDGEN:-wit-bindgen}"
-
-MODULE=go.bytecodealliance.org/pkg
-
-WORLDS=(
- "bytecodealliance:pkg/wasip2@0.1.0"
- "bytecodealliance:pkg/wasip3@0.1.0"
-)
-
-# Remove any previously-generated import bindings.
-rm -rf imports tmp
-mkdir -p imports
-
-# `wit-bindgen go` generates bindings for a single world at a time, so generate
-# each supported world separately. The imports of all worlds are merged into the
-# shared imports/ directory, while the exports are kept per world.
-for world in "${WORLDS[@]}"; do
- dir=exports/$(echo "$world" | sed 's+[:/@.-]+_+g')
- out="tmp/$world"
-
- "$WIT_BINDGEN" go \
- -w "$world" \
- --pkg-name "$MODULE" \
- --include-versions \
- --format \
- --quiet \
- --out-dir "$out" \
- wit >/dev/null
-
- # Merge this world's imports into the shared imports. Packages generated by
- # more than one world must be identical.
- for pkg in "$out"/imports/*; do
- name=$(basename "$pkg")
- if [ -e "imports/$name" ]; then
- if ! diff -r "imports/$name" "$pkg" >/dev/null; then
- echo "error: imports/$name differs between worlds" >&2
- exit 1
- fi
- else
- cp -r "$pkg" imports/
- fi
- done
-
- # Keep only the generated export glue; the export_* trampolines next to it
- # are hand-written. Point the glue at the per-world trampoline packages.
- rm -rf "$dir/wit_exports"
- mkdir -p "$dir"
- cp -r "$out/exports/wit_exports" "$dir/"
- sed -i "s+\"$MODULE/exports/export_+\"$MODULE/$dir/export_+g" "$dir/wit_exports/wit_exports.go"
-
- # Allow the package to compile on non-wasm hosts despite bodyless
- # //go:wasmimport declarations (same trick as the generated imports).
- if [ ! -f "$dir/wit_exports/empty.s" ]; then
- cat > "$dir/wit_exports/empty.s" <<'EOF'
-// This file exists for testing this package without WebAssembly,
-// allowing empty function bodies with a //go:wasmimport directive.
-// See https://pkg.go.dev/cmd/compile for more information.
-EOF
- fi
-done
-
-rm -rf tmp
-
-go mod tidy
diff --git a/wasiconfig/config.go b/wasiconfig/config.go
deleted file mode 100644
index a845694..0000000
--- a/wasiconfig/config.go
+++ /dev/null
@@ -1,39 +0,0 @@
-// Package wasiconfig provides helpers over the [wasi:config/store]
-// interface.
-//
-// [wasi:config/store]: https://github.com/WebAssembly/wasi-config/blob/main/wit/store.wit
-package wasiconfig
-
-import (
- store "go.bytecodealliance.org/pkg/imports/wasi_config_0_2_0_rc_1_store"
-)
-
-// Get returns the configuration value for the provided key using
-// [wasi:config/store.get]. The second return value reports whether a value
-// was found.
-//
-// [wasi:config/store.get]: https://github.com/WebAssembly/wasi-config/blob/main/wit/store.wit
-func Get(key string) (string, bool) {
- res := store.Get(key)
- if res.IsOk() {
- opt := res.Ok()
- if opt.IsSome() {
- return opt.Some(), true
- }
- }
-
- return "", false
-}
-
-// GetOrDefault tries to get a configuration value by the provided key using
-// [wasi:config/store.get], falling back to the provided defaultValue if a
-// configuration value for the key is not found.
-//
-// [wasi:config/store.get]: https://github.com/WebAssembly/wasi-config/blob/main/wit/store.wit
-func GetOrDefault(key string, defaultValue string) string {
- if val, ok := Get(key); ok {
- return val
- }
-
- return defaultValue
-}
diff --git a/wasihttp/adapter_p2.go b/wasihttp/adapter_p2.go
deleted file mode 100644
index 017cba9..0000000
--- a/wasihttp/adapter_p2.go
+++ /dev/null
@@ -1,273 +0,0 @@
-//go:build !componentizego_async
-
-package wasihttp
-
-// Refactored from https://github.com/rajatjindal/wasi-go-sdk/tree/d3e8665bef9fbf0794ad14f7114a9882e0d983c3/pkg/wasihttp
-
-import (
- "fmt"
- "io"
- "net/http"
- "sync"
-
- types "go.bytecodealliance.org/pkg/imports/wasi_http_0_2_8_types"
- streams "go.bytecodealliance.org/pkg/imports/wasi_io_0_2_8_streams"
- "go.bytecodealliance.org/pkg/internal/httpconv"
- witTypes "go.bytecodealliance.org/pkg/wit/types"
-)
-
-var _ http.ResponseWriter = (*responseOutparamWriter)(nil)
-
-// responseOutparamWriter implements a [net/http.ResponseWriter] for
-// [wasi:http/types.response-outparam].
-//
-// [wasi:http/types.response-outparam]: https://github.com/WebAssembly/wasi-http/blob/main/wit/types.wit
-type responseOutparamWriter struct {
- outparam *types.ResponseOutparam
- response *types.OutgoingResponse
- wasiHeaders *types.Fields
- httpHeaders http.Header
- body *types.OutgoingBody
- stream *streams.OutputStream
-
- headerOnce sync.Once
- headerErr error
-
- statuscode int
-}
-
-// Header returns the header map that will be sent by WriteHeader.
-func (row *responseOutparamWriter) Header() http.Header {
- return row.httpHeaders
-}
-
-// Write writes the data to the connection as part of an HTTP reply.
-func (row *responseOutparamWriter) Write(buf []byte) (int, error) {
- // NOTE(lxf): If this is the first write, make sure we set the headers/statuscode
- row.headerOnce.Do(row.reconcile)
- if row.headerErr != nil {
- return 0, row.headerErr
- }
-
- writeResult := row.stream.Write(buf)
- if writeResult.IsErr() {
- if writeResult.Err().Tag() == streams.StreamError_Closed {
- return 0, io.EOF
- }
-
- return 0, fmt.Errorf("failed to write to response body's stream: %s", writeResult.Err().LastOperationFailed().ToDebugString())
- }
-
- row.stream.BlockingFlush()
-
- return len(buf), nil
-}
-
-// WriteHeader sends an HTTP response header with the provided
-// status code.
-func (row *responseOutparamWriter) WriteHeader(statusCode int) {
- row.headerOnce.Do(func() {
- row.statuscode = statusCode
- row.reconcile()
- })
-}
-
-// reconcile headers from go to wasi
-func (row *responseOutparamWriter) reconcileHeaders() error {
- for key, vals := range row.httpHeaders {
- if result := row.wasiHeaders.Set(key, httpconv.FieldValues(vals)); result.IsErr() {
- return fmt.Errorf("failed to set header %s: %v", key, result.Err())
- }
- }
-
- // NOTE(lxf): once headers are written we clear them out so they can emit http trailers
- row.httpHeaders = http.Header{}
-
- return nil
-}
-
-func (row *responseOutparamWriter) reconcile() {
- if row.headerErr = row.reconcileHeaders(); row.headerErr != nil {
- return
- }
-
- row.response = types.MakeOutgoingResponse(row.wasiHeaders)
- row.response.SetStatusCode(uint16(row.statuscode))
-
- bodyResult := row.response.Body()
- if bodyResult.IsErr() {
- row.headerErr = fmt.Errorf("failed to acquire resource handle to response body")
- return
- }
- row.body = bodyResult.Ok()
-
- writeResult := row.body.Write()
- if writeResult.IsErr() {
- row.headerErr = fmt.Errorf("failed to acquire resource handle for response body's stream")
- return
- }
- row.stream = writeResult.Ok()
-
- result := witTypes.Ok[*types.OutgoingResponse, types.ErrorCode](row.response)
- types.ResponseOutparamSet(row.outparam, result)
-}
-
-// Close closes out the underlying stream by flushing the response and making
-// sure that the underlying resource handle is dropped.
-func (row *responseOutparamWriter) Close() error {
- if row.stream == nil {
- return nil
- }
-
- row.stream.BlockingFlush()
- row.stream.Drop()
- row.stream = nil
-
- maybeTrailers := witTypes.None[*types.Fields]()
- wasiTrailers := types.MakeFields()
- for key, vals := range row.httpHeaders {
- if result := wasiTrailers.Set(key, httpconv.FieldValues(vals)); result.IsErr() {
- return fmt.Errorf("failed to set trailer %s: %v", key, result.Err())
- }
- }
- if len(row.httpHeaders) > 0 {
- maybeTrailers = witTypes.Some(wasiTrailers)
- }
-
- res := types.OutgoingBodyFinish(row.body, maybeTrailers)
- if res.IsErr() {
- return fmt.Errorf("failed to set trailer: %v", res.Err())
- }
- return nil
-}
-
-// newResponseOutparamWriter takes a [types.ResponseOutparam] representing
-// [wasi:http/types.response-outparam] and instantiates a new
-// [responseOutparamWriter] for writing to it.
-func newResponseOutparamWriter(out *types.ResponseOutparam) *responseOutparamWriter {
- return &responseOutparamWriter{
- outparam: out,
- httpHeaders: http.Header{},
- wasiHeaders: types.MakeFields(),
- statuscode: http.StatusOK,
- }
-}
-
-// wasiToHTTPRequest takes a [types.IncomingRequest] and returns a
-// [net/http.Request] representation of it.
-func wasiToHTTPRequest(ir *types.IncomingRequest) (req *http.Request, err error) {
- method, err := methodToString(ir.Method())
- if err != nil {
- return nil, err
- }
-
- authority := "localhost"
- if auth := ir.Authority(); auth.IsSome() {
- authority = auth.Some()
- }
-
- pathWithQuery := "/"
- if p := ir.PathWithQuery(); p.IsSome() {
- pathWithQuery = p.Some()
- }
-
- body, trailers, err := newIncomingBodyTrailer(ir)
- if err != nil {
- switch method {
- case http.MethodGet,
- http.MethodHead,
- http.MethodDelete,
- http.MethodConnect,
- http.MethodOptions,
- http.MethodTrace:
- default:
- return nil, fmt.Errorf("failed to consume incoming request: %w", err)
- }
- }
-
- url := fmt.Sprintf("http://%s%s", authority, pathWithQuery)
- req, err = http.NewRequest(method, url, body)
- if err != nil {
- return nil, err
- }
- req.Trailer = trailers
-
- headers := ir.Headers()
- wasiToHTTPHeader(headers, &req.Header)
- headers.Drop()
-
- req.Host = authority
- req.URL.Host = authority
- req.RequestURI = pathWithQuery
-
- return req, nil
-}
-
-func methodToString(m types.Method) (string, error) {
- switch m.Tag() {
- case types.Method_Connect:
- return http.MethodConnect, nil
- case types.Method_Delete:
- return http.MethodDelete, nil
- case types.Method_Get:
- return http.MethodGet, nil
- case types.Method_Head:
- return http.MethodHead, nil
- case types.Method_Options:
- return http.MethodOptions, nil
- case types.Method_Patch:
- return http.MethodPatch, nil
- case types.Method_Post:
- return http.MethodPost, nil
- case types.Method_Put:
- return http.MethodPut, nil
- case types.Method_Trace:
- return http.MethodTrace, nil
- case types.Method_Other:
- other := m.Other()
- return other, fmt.Errorf("unknown http method '%s'", other)
- }
- return "", fmt.Errorf("failed to convert http method")
-}
-
-// wasiToHTTPHeader takes a [types.Fields] and copies them to the provided [net/http.Header] map.
-func wasiToHTTPHeader(src *types.Fields, dest *http.Header) {
- httpconv.AddEntries(*dest, src.Entries())
-}
-
-// httpToWASIHeader takes a [net/http.Header] map and copies them to the provided [types.Fields].
-func httpToWASIHeader(src http.Header, dest *types.Fields) error {
- for k, v := range src {
- res := dest.Set(k, httpconv.FieldValues(v))
- if res.IsErr() {
- return fmt.Errorf("failed to set header %s: %v", k, res.Err())
- }
- }
-
- return nil
-}
-
-func toWASIMethod(s string) types.Method {
- switch s {
- case http.MethodConnect:
- return types.MakeMethodConnect()
- case http.MethodDelete:
- return types.MakeMethodDelete()
- case http.MethodGet:
- return types.MakeMethodGet()
- case http.MethodHead:
- return types.MakeMethodHead()
- case http.MethodOptions:
- return types.MakeMethodOptions()
- case http.MethodPatch:
- return types.MakeMethodPatch()
- case http.MethodPost:
- return types.MakeMethodPost()
- case http.MethodPut:
- return types.MakeMethodPut()
- case http.MethodTrace:
- return types.MakeMethodTrace()
- default:
- return types.MakeMethodOther(s)
- }
-}
diff --git a/wasihttp/adapter_p3.go b/wasihttp/adapter_p3.go
deleted file mode 100644
index e1e74ac..0000000
--- a/wasihttp/adapter_p3.go
+++ /dev/null
@@ -1,134 +0,0 @@
-//go:build componentizego_async
-
-package wasihttp
-
-import (
- "fmt"
- "net/http"
- "strings"
-
- types "go.bytecodealliance.org/pkg/imports/wasi_http_0_3_0_types"
- "go.bytecodealliance.org/pkg/internal/httpconv"
- witTypes "go.bytecodealliance.org/pkg/wit/types"
-)
-
-// wasiToHTTPRequest converts an incoming wasi:http Request into a
-// [net/http.Request]. The wasi request resource is consumed.
-func wasiToHTTPRequest(ir *types.Request) (*http.Request, error) {
- defer ir.Drop()
-
- method, err := methodToString(ir.GetMethod())
- if err != nil {
- return nil, err
- }
-
- authority := "localhost"
- if auth := ir.GetAuthority(); auth.IsSome() {
- authority = auth.Some()
- }
-
- pathWithQuery := "/"
- if p := ir.GetPathWithQuery(); p.IsSome() {
- pathWithQuery = p.Some()
- }
-
- scheme := "http"
- if s := ir.GetScheme(); s.IsSome() && s.Some().Tag() == types.SchemeHttps {
- scheme = "https"
- }
-
- headers := ir.GetHeaders()
- entries := headers.CopyAll()
- headers.Drop()
-
- stream, trailers := types.RequestConsumeBody(ir, unitFuture())
- body := newBodyReader(stream, trailers)
-
- req, err := http.NewRequest(method, fmt.Sprintf("%s://%s%s", scheme, authority, pathWithQuery), body)
- if err != nil {
- body.Close()
- return nil, err
- }
-
- httpconv.AddEntries(req.Header, entries)
- req.Trailer = body.trailer
- req.Host = authority
- req.RequestURI = pathWithQuery
-
- return req, nil
-}
-
-func methodToString(m types.Method) (string, error) {
- switch m.Tag() {
- case types.MethodConnect:
- return http.MethodConnect, nil
- case types.MethodDelete:
- return http.MethodDelete, nil
- case types.MethodGet:
- return http.MethodGet, nil
- case types.MethodHead:
- return http.MethodHead, nil
- case types.MethodOptions:
- return http.MethodOptions, nil
- case types.MethodPatch:
- return http.MethodPatch, nil
- case types.MethodPost:
- return http.MethodPost, nil
- case types.MethodPut:
- return http.MethodPut, nil
- case types.MethodTrace:
- return http.MethodTrace, nil
- case types.MethodOther:
- return m.Other(), fmt.Errorf("unknown http method '%s'", m.Other())
- default:
- return "", fmt.Errorf("failed to convert http method")
- }
-}
-
-func toWASIMethod(s string) types.Method {
- switch s {
- case http.MethodConnect:
- return types.MakeMethodConnect()
- case http.MethodDelete:
- return types.MakeMethodDelete()
- case http.MethodGet:
- return types.MakeMethodGet()
- case http.MethodHead:
- return types.MakeMethodHead()
- case http.MethodOptions:
- return types.MakeMethodOptions()
- case http.MethodPatch:
- return types.MakeMethodPatch()
- case http.MethodPost:
- return types.MakeMethodPost()
- case http.MethodPut:
- return types.MakeMethodPut()
- case http.MethodTrace:
- return types.MakeMethodTrace()
- default:
- return types.MakeMethodOther(s)
- }
-}
-
-func toWASIHeaders(headers http.Header) (*types.Fields, error) {
- fields := types.MakeFields()
-
- for key, vals := range headers {
- if result := fields.Set(key, httpconv.FieldValues(vals)); result.IsErr() {
- fields.Drop()
- return nil, fmt.Errorf("failed to set header %s to [%s]: %s",
- key, strings.Join(vals, ","), headerErrorString(result.Err()))
- }
- }
-
- return fields, nil
-}
-
-// unitFuture returns a pre-resolved future used as the `res` argument of
-// consume-body: it signals that we accept the body unconditionally.
-func unitFuture() *witTypes.FutureReader[witTypes.Result[witTypes.Unit, types.ErrorCode]] {
- tx, rx := types.MakeFutureResultUnitErrorCode()
- // FutureWriter.Write blocks until the peer reads, so resolve asynchronously.
- go tx.Write(witTypes.Ok[witTypes.Unit, types.ErrorCode](witTypes.Unit{}))
- return rx
-}
diff --git a/wasihttp/doc.go b/wasihttp/doc.go
deleted file mode 100644
index d7b477f..0000000
--- a/wasihttp/doc.go
+++ /dev/null
@@ -1,20 +0,0 @@
-// Package wasihttp adapts [net/http] to [wasi:http]: incoming requests are
-// served by a standard [net/http.Handler] registered via [Handle] or
-// [HandleFunc], and outbound requests are sent through the host via
-// [Transport] / [DefaultClient].
-//
-// The package has two implementations selected at build time with the
-// componentizego_async build tag; the exported API is identical under both:
-//
-// - Default (no tag): sync WASI P2, wasi:http@0.2.8. Exports
-// wasi:http/incoming-handler@0.2.8 and sends outbound requests through
-// wasi:http/outgoing-handler@0.2.8. Matches the bytecodealliance:pkg/wasip2
-// world and builds with stock Go.
-// - -tags componentizego_async: async WASI P3, wasi:http@0.3.0. Exports
-// wasi:http/handler@0.3.0 with streaming bodies and native concurrency,
-// and sends outbound requests through wasi:http/client@0.3.0. Matches the
-// bytecodealliance:pkg/wasip3 world. componentize-go sets this tag
-// automatically when building an async world.
-//
-// [wasi:http]: https://github.com/WebAssembly/wasi-http
-package wasihttp
diff --git a/wasihttp/errors_p3.go b/wasihttp/errors_p3.go
deleted file mode 100644
index 9638e45..0000000
--- a/wasihttp/errors_p3.go
+++ /dev/null
@@ -1,181 +0,0 @@
-//go:build componentizego_async
-
-package wasihttp
-
-import (
- "fmt"
- "strings"
-
- types "go.bytecodealliance.org/pkg/imports/wasi_http_0_3_0_types"
-)
-
-func headerErrorString(err types.HeaderError) string {
- switch err.Tag() {
- case types.HeaderErrorInvalidSyntax:
- return "invalid syntax"
- case types.HeaderErrorForbidden:
- return "forbidden header"
- case types.HeaderErrorImmutable:
- return "immutable header fields"
- case types.HeaderErrorSizeExceeded:
- return "size exceeded"
- case types.HeaderErrorOther:
- if v := err.Other(); v.IsSome() {
- return v.Some()
- }
- return "unknown header error"
- default:
- return "unknown header error"
- }
-}
-
-func errorCodeString(code types.ErrorCode) string {
- switch code.Tag() {
- case types.ErrorCodeDnsTimeout:
- return "DNS timeout"
- case types.ErrorCodeDnsError:
- p := code.DnsError()
- var parts []string
- if p.Rcode.IsSome() {
- parts = append(parts, fmt.Sprintf("rcode=%s", p.Rcode.Some()))
- }
- if p.InfoCode.IsSome() {
- parts = append(parts, fmt.Sprintf("info-code=%d", p.InfoCode.Some()))
- }
- if len(parts) == 0 {
- return "DNS error"
- }
- return "DNS error (" + strings.Join(parts, ", ") + ")"
- case types.ErrorCodeDestinationNotFound:
- return "destination not found"
- case types.ErrorCodeDestinationUnavailable:
- return "destination unavailable"
- case types.ErrorCodeDestinationIpProhibited:
- return "destination IP prohibited"
- case types.ErrorCodeDestinationIpUnroutable:
- return "destination IP unroutable"
- case types.ErrorCodeConnectionRefused:
- return "connection refused"
- case types.ErrorCodeConnectionTerminated:
- return "connection terminated"
- case types.ErrorCodeConnectionTimeout:
- return "connection timeout"
- case types.ErrorCodeConnectionReadTimeout:
- return "connection read timeout"
- case types.ErrorCodeConnectionWriteTimeout:
- return "connection write timeout"
- case types.ErrorCodeConnectionLimitReached:
- return "connection limit reached"
- case types.ErrorCodeTlsProtocolError:
- return "TLS protocol error"
- case types.ErrorCodeTlsCertificateError:
- return "TLS certificate error"
- case types.ErrorCodeTlsAlertReceived:
- p := code.TlsAlertReceived()
- var parts []string
- if p.AlertId.IsSome() {
- parts = append(parts, fmt.Sprintf("alert-id=%d", p.AlertId.Some()))
- }
- if p.AlertMessage.IsSome() {
- parts = append(parts, fmt.Sprintf("alert-message=%s", p.AlertMessage.Some()))
- }
- if len(parts) == 0 {
- return "TLS alert received"
- }
- return "TLS alert received (" + strings.Join(parts, ", ") + ")"
- case types.ErrorCodeHttpRequestDenied:
- return "HTTP request denied"
- case types.ErrorCodeHttpRequestLengthRequired:
- return "HTTP request length required"
- case types.ErrorCodeHttpRequestBodySize:
- if v := code.HttpRequestBodySize(); v.IsSome() {
- return fmt.Sprintf("HTTP request body size: %d", v.Some())
- }
- return "HTTP request body size"
- case types.ErrorCodeHttpRequestMethodInvalid:
- return "HTTP request method invalid"
- case types.ErrorCodeHttpRequestUriInvalid:
- return "HTTP request URI invalid"
- case types.ErrorCodeHttpRequestUriTooLong:
- return "HTTP request URI too long"
- case types.ErrorCodeHttpRequestHeaderSectionSize:
- if v := code.HttpRequestHeaderSectionSize(); v.IsSome() {
- return fmt.Sprintf("HTTP request header section size: %d", v.Some())
- }
- return "HTTP request header section size"
- case types.ErrorCodeHttpRequestHeaderSize:
- if v := code.HttpRequestHeaderSize(); v.IsSome() {
- return "HTTP request header size " + fieldSizeString(v.Some())
- }
- return "HTTP request header size"
- case types.ErrorCodeHttpRequestTrailerSectionSize:
- if v := code.HttpRequestTrailerSectionSize(); v.IsSome() {
- return fmt.Sprintf("HTTP request trailer section size: %d", v.Some())
- }
- return "HTTP request trailer section size"
- case types.ErrorCodeHttpRequestTrailerSize:
- return "HTTP request trailer size " + fieldSizeString(code.HttpRequestTrailerSize())
- case types.ErrorCodeHttpResponseIncomplete:
- return "HTTP response incomplete"
- case types.ErrorCodeHttpResponseHeaderSectionSize:
- if v := code.HttpResponseHeaderSectionSize(); v.IsSome() {
- return fmt.Sprintf("HTTP response header section size: %d", v.Some())
- }
- return "HTTP response header section size"
- case types.ErrorCodeHttpResponseHeaderSize:
- return "HTTP response header size " + fieldSizeString(code.HttpResponseHeaderSize())
- case types.ErrorCodeHttpResponseBodySize:
- if v := code.HttpResponseBodySize(); v.IsSome() {
- return fmt.Sprintf("HTTP response body size: %d", v.Some())
- }
- return "HTTP response body size"
- case types.ErrorCodeHttpResponseTrailerSectionSize:
- if v := code.HttpResponseTrailerSectionSize(); v.IsSome() {
- return fmt.Sprintf("HTTP response trailer section size: %d", v.Some())
- }
- return "HTTP response trailer section size"
- case types.ErrorCodeHttpResponseTrailerSize:
- return "HTTP response trailer size " + fieldSizeString(code.HttpResponseTrailerSize())
- case types.ErrorCodeHttpResponseTransferCoding:
- if v := code.HttpResponseTransferCoding(); v.IsSome() {
- return fmt.Sprintf("HTTP response transfer coding: %s", v.Some())
- }
- return "HTTP response transfer coding"
- case types.ErrorCodeHttpResponseContentCoding:
- if v := code.HttpResponseContentCoding(); v.IsSome() {
- return fmt.Sprintf("HTTP response content coding: %s", v.Some())
- }
- return "HTTP response content coding"
- case types.ErrorCodeHttpResponseTimeout:
- return "HTTP response timeout"
- case types.ErrorCodeHttpUpgradeFailed:
- return "HTTP upgrade failed"
- case types.ErrorCodeHttpProtocolError:
- return "HTTP protocol error"
- case types.ErrorCodeLoopDetected:
- return "loop detected"
- case types.ErrorCodeConfigurationError:
- return "configuration error"
- case types.ErrorCodeInternalError:
- if v := code.InternalError(); v.IsSome() {
- return "internal error: " + v.Some()
- }
- return "internal error"
- default:
- return fmt.Sprintf("unknown error code: %d", code.Tag())
- }
-}
-
-func fieldSizeString(p types.FieldSizePayload) string {
- var parts []string
- if p.FieldName.IsSome() {
- parts = append(parts, fmt.Sprintf("field-name=%s", p.FieldName.Some()))
- }
- if p.FieldSize.IsSome() {
- parts = append(parts, fmt.Sprintf("field-size=%d", p.FieldSize.Some()))
- }
- if len(parts) == 0 {
- return ""
- }
- return "(" + strings.Join(parts, ", ") + ")"
-}
diff --git a/wasihttp/responsewriter_p3.go b/wasihttp/responsewriter_p3.go
deleted file mode 100644
index 2b79cd7..0000000
--- a/wasihttp/responsewriter_p3.go
+++ /dev/null
@@ -1,159 +0,0 @@
-//go:build componentizego_async
-
-package wasihttp
-
-import (
- "fmt"
- "io"
- "net/http"
- "slices"
-
- types "go.bytecodealliance.org/pkg/imports/wasi_http_0_3_0_types"
- witTypes "go.bytecodealliance.org/pkg/wit/types"
-)
-
-var _ http.ResponseWriter = (*responseWriter)(nil)
-var _ http.Flusher = (*responseWriter)(nil)
-
-// responseWriter implements [http.ResponseWriter] over a wasi:http Response.
-// The wasi Response is constructed and delivered on channel as soon as the
-// handler first writes (or when the handler returns), so the body can stream
-// to the client incrementally while the handler keeps writing.
-type responseWriter struct {
- // channel on which the constructed wasi Response is delivered exactly once
- channel chan witTypes.Result[*types.Response, types.ErrorCode]
- // stream to which the response body is written after send
- stream *witTypes.StreamWriter[uint8]
- // future which resolves to an error if the body could not be delivered
- streamResult *witTypes.FutureReader[witTypes.Result[witTypes.Unit, types.ErrorCode]]
- // trailersTx resolves the response's trailers future
- trailersTx *witTypes.FutureWriter[witTypes.Result[witTypes.Option[*types.Fields], types.ErrorCode]]
- headers http.Header
- statusCode int
-}
-
-func newResponseWriter() *responseWriter {
- return &responseWriter{
- channel: make(chan witTypes.Result[*types.Response, types.ErrorCode]),
- headers: http.Header{},
- statusCode: http.StatusOK,
- }
-}
-
-func (w *responseWriter) Header() http.Header {
- return w.headers
-}
-
-func (w *responseWriter) WriteHeader(statusCode int) {
- w.statusCode = statusCode
-}
-
-func (w *responseWriter) Write(buf []byte) (int, error) {
- if err := w.send(); err != nil {
- return 0, err
- }
-
- n := int(w.stream.WriteAll(buf))
- if n < len(buf) {
- if err := w.takeError(); err != nil {
- return n, err
- }
- return n, io.ErrShortWrite
- }
-
- return n, nil
-}
-
-func (w *responseWriter) Flush() {}
-
-// send constructs the wasi Response from the accumulated headers and status
-// code and delivers it on channel. It is a no-op after the first call.
-func (w *responseWriter) send() error {
- channel := w.channel
- if channel == nil {
- return nil
- }
- w.channel = nil
-
- fields, err := toWASIHeaders(w.headers)
- if err != nil {
- // Keep the channel so a later send (or the error path in wasiHandle)
- // can still deliver a result; otherwise the export would block forever.
- w.channel = channel
- return err
- }
-
- tx, rx := types.MakeStreamU8()
- w.stream = tx
-
- trailersTx, trailersRx := types.MakeFutureResultOptionFieldsErrorCode()
- w.trailersTx = trailersTx
-
- response, sent := types.ResponseNew(fields, witTypes.Some(rx), trailersRx)
- w.streamResult = sent
-
- response.SetStatusCode(uint16(w.statusCode))
-
- channel <- witTypes.Ok[*types.Response, types.ErrorCode](response)
-
- return nil
-}
-
-// writeTrailers resolves the response's trailers future with any headers the
-// handler declared via the "Trailer" header, ending the response body.
-func (w *responseWriter) writeTrailers() {
- if w.trailersTx == nil {
- return
- }
- trailersTx := w.trailersTx
- w.trailersTx = nil
-
- declared := w.headers.Values("Trailer")
- collected := make(http.Header)
- for name, vals := range w.headers {
- if slices.Contains(declared, name) {
- collected[name] = vals
- }
- }
-
- if len(collected) == 0 {
- trailersTx.Write(witTypes.Ok[witTypes.Option[*types.Fields], types.ErrorCode](witTypes.None[*types.Fields]()))
- return
- }
-
- wasiTrailers, err := toWASIHeaders(collected)
- if err != nil {
- trailersTx.Write(witTypes.Err[witTypes.Option[*types.Fields]](
- types.MakeErrorCodeInternalError(witTypes.Some(fmt.Sprintf("cannot send trailers: %v", err))),
- ))
- return
- }
- trailersTx.Write(witTypes.Ok[witTypes.Option[*types.Fields], types.ErrorCode](witTypes.Some(wasiTrailers)))
-}
-
-// takeError reads the body-delivery future after the client stopped reading.
-func (w *responseWriter) takeError() error {
- if w.streamResult != nil {
- result := w.streamResult.Read()
- w.streamResult = nil
- if result.IsErr() {
- return fmt.Errorf("failed to write to HTTP body stream: %s", errorCodeString(result.Err()))
- }
- }
- return nil
-}
-
-func (w *responseWriter) close() {
- if w.stream != nil {
- w.stream.Drop()
- w.stream = nil
- }
- if w.streamResult != nil {
- w.streamResult.Drop()
- w.streamResult = nil
- }
- if w.trailersTx != nil {
- w.trailersTx.Drop()
- w.trailersTx = nil
- }
-}
diff --git a/wasihttp/roundtripper_p2.go b/wasihttp/roundtripper_p2.go
deleted file mode 100644
index e13904c..0000000
--- a/wasihttp/roundtripper_p2.go
+++ /dev/null
@@ -1,167 +0,0 @@
-//go:build !componentizego_async
-
-package wasihttp
-
-import (
- "fmt"
- "io"
- "net/http"
- "time"
-
- outgoinghandler "go.bytecodealliance.org/pkg/imports/wasi_http_0_2_8_outgoing_handler"
- types "go.bytecodealliance.org/pkg/imports/wasi_http_0_2_8_types"
- witTypes "go.bytecodealliance.org/pkg/wit/types"
-)
-
-// Transport implements [net/http.RoundTripper] for [wasi:http].
-//
-// [wasi:http]: https://github.com/WebAssembly/wasi-http
-type Transport struct {
- ConnectTimeout time.Duration
-}
-
-var _ http.RoundTripper = (*Transport)(nil)
-
-// DefaultTransport is the default implementation of [Transport] and is used by [DefaultClient].
-// It is configured to use the same timeout value as [net/http.DefaultTransport].
-var DefaultTransport = &Transport{
- ConnectTimeout: 30 * time.Second, // NOTE(lxf): Same as stdlib http.Transport
-}
-
-// DefaultClient is the default [net/http.Client] that uses [DefaultTransport] to adapt [net/http] to [wasi:http].
-//
-// [wasi:http]: https://github.com/WebAssembly/wasi-http
-var DefaultClient = &http.Client{Transport: DefaultTransport}
-
-func (r *Transport) requestOptions() *types.RequestOptions {
- options := types.MakeRequestOptions()
- if r.ConnectTimeout > 0 {
- // Go’s time.Duration is a nanosecond count, and WASI’s monotonic-clock duration is also a u64 of nanoseconds
- options.SetConnectTimeout(
- witTypes.Some(types.Duration(r.ConnectTimeout)),
- )
- } else {
- options.SetConnectTimeout(
- witTypes.None[types.Duration](),
- )
- }
- return options
-}
-
-// RoundTrip implements the [net/http.RoundTripper] interface.
-func (r *Transport) RoundTrip(incomingRequest *http.Request) (*http.Response, error) {
- outHeaders := types.MakeFields()
- if err := httpToWASIHeader(incomingRequest.Header, outHeaders); err != nil {
- return nil, fmt.Errorf("failed to convert outgoing headers: %w", err)
- }
-
- outRequest := types.MakeOutgoingRequest(outHeaders)
-
- outRequest.SetAuthority(witTypes.Some(incomingRequest.Host))
- outRequest.SetMethod(toWASIMethod(incomingRequest.Method))
-
- pathWithQuery := incomingRequest.URL.Path
- if incomingRequest.URL.RawQuery != "" {
- pathWithQuery = pathWithQuery + "?" + incomingRequest.URL.Query().Encode()
- }
- outRequest.SetPathWithQuery(witTypes.Some(pathWithQuery))
-
- switch incomingRequest.URL.Scheme {
- case "http":
- outRequest.SetScheme(witTypes.Some(types.MakeSchemeHttp()))
- case "https":
- outRequest.SetScheme(witTypes.Some(types.MakeSchemeHttps()))
- default:
- outRequest.SetScheme(witTypes.Some(types.MakeSchemeOther(incomingRequest.URL.Scheme)))
- }
-
- bodyResult := outRequest.Body()
- if bodyResult.IsErr() {
- return nil, fmt.Errorf("failed to acquire resource handle to request body")
- }
- body := bodyResult.Ok()
-
- handleResult := outgoinghandler.Handle(outRequest, witTypes.Some(r.requestOptions()))
- if handleResult.IsErr() {
- return nil, fmt.Errorf("failed to acquire handle to outbound request: %v", handleResult.Err())
- }
- futureResponse := handleResult.Ok()
-
- maybeTrailers := witTypes.None[*types.Fields]()
- if len(incomingRequest.Trailer) > 0 {
- outTrailers := types.MakeFields()
- if err := httpToWASIHeader(incomingRequest.Trailer, outTrailers); err != nil {
- return nil, fmt.Errorf("failed to convert outgoing trailers: %w", err)
- }
- maybeTrailers = witTypes.Some(outTrailers)
- }
-
- // NOTE(lxf): If request includes a body, copy it to the adapted wasi body
- if incomingRequest.Body != nil {
- // For client requests, the Transport is responsible for calling Close on request's body.
- defer func() { _ = incomingRequest.Body.Close() }()
- adaptedBody, err := newOutgoingBody(body)
- if err != nil {
- return nil, fmt.Errorf("failed to adapt body: %w", err)
- }
- if _, err := io.Copy(adaptedBody, incomingRequest.Body); err != nil {
- return nil, fmt.Errorf("failed to copy body: %w", err)
- }
- if err := adaptedBody.Close(); err != nil {
- return nil, fmt.Errorf("failed to close body: %w", err)
- }
- }
-
- // From `outgoing-body` documentation:
- // Finalize an outgoing body, optionally providing trailers. This must be
- // called to signal that the response is complete.
- outFinish := types.OutgoingBodyFinish(body, maybeTrailers)
- if outFinish.IsErr() {
- return nil, fmt.Errorf("failed to finish body: %v", outFinish.Err())
- }
-
- // wait until resp is returned
- pollable := futureResponse.Subscribe()
- pollable.Block()
- pollable.Drop()
-
- incomingResponseOuterOption := futureResponse.Get()
- if incomingResponseOuterOption.IsNone() {
- // NOTE: This should never happen since we subscribe to response readiness above
- return nil, fmt.Errorf("failed to wait for future-incoming-response readiness")
- }
-
- // Unwrap the outer Option and the outer Result within it
- outerResult := incomingResponseOuterOption.Some()
- if outerResult.IsErr() {
- return nil, fmt.Errorf("failed to unwrap the outer result for incoming-response")
- }
-
- // Unwrap the inner Result
- innerResult := outerResult.Ok()
- if innerResult.IsErr() {
- return nil, fmt.Errorf("failed to unwrap the inner result for incoming-response: %v", innerResult.Err())
- }
- incomingResponse := innerResult.Ok()
-
- incomingBody, incomingTrailers, err := newIncomingBodyTrailer(incomingResponse)
- if err != nil {
- return nil, fmt.Errorf("failed to parse incoming-response: %w", err)
- }
-
- incomingHeaders := http.Header{}
- headers := incomingResponse.Headers()
- wasiToHTTPHeader(headers, &incomingHeaders)
- headers.Drop()
-
- resp := &http.Response{
- StatusCode: int(incomingResponse.Status()),
- Status: http.StatusText(int(incomingResponse.Status())),
- Request: incomingRequest,
- Header: incomingHeaders,
- Body: incomingBody,
- Trailer: incomingTrailers,
- }
-
- return resp, nil
-}
diff --git a/wasihttp/roundtripper_p3.go b/wasihttp/roundtripper_p3.go
deleted file mode 100644
index 7127867..0000000
--- a/wasihttp/roundtripper_p3.go
+++ /dev/null
@@ -1,169 +0,0 @@
-//go:build componentizego_async
-
-package wasihttp
-
-import (
- "fmt"
- "io"
- "net/http"
- "os"
- "time"
-
- client "go.bytecodealliance.org/pkg/imports/wasi_http_0_3_0_client"
- types "go.bytecodealliance.org/pkg/imports/wasi_http_0_3_0_types"
- "go.bytecodealliance.org/pkg/internal/httpconv"
- witTypes "go.bytecodealliance.org/pkg/wit/types"
-)
-
-// Transport implements [http.RoundTripper] for [wasi:http].
-//
-// [wasi:http]: https://github.com/WebAssembly/wasi-http/tree/v0.3.0
-type Transport struct {
- ConnectTimeout time.Duration
-}
-
-var _ http.RoundTripper = (*Transport)(nil)
-
-// DefaultTransport is the default implementation of [Transport] and is used by [DefaultClient].
-// It is configured to use the same timeout value as [net/http.DefaultTransport].
-var DefaultTransport = &Transport{
- ConnectTimeout: 30 * time.Second,
-}
-
-// DefaultClient is the default [net/http.Client] that uses [DefaultTransport] to adapt [net/http] to [wasi:http].
-//
-// [wasi:http]: https://github.com/WebAssembly/wasi-http/tree/v0.3.0
-var DefaultClient = &http.Client{Transport: DefaultTransport}
-
-func (t *Transport) requestOptions() witTypes.Option[*types.RequestOptions] {
- if t.ConnectTimeout <= 0 {
- return witTypes.None[*types.RequestOptions]()
- }
- options := types.MakeRequestOptions()
- // Both time.Duration and wasi:clocks duration are nanosecond counts.
- options.SetConnectTimeout(witTypes.Some(uint64(t.ConnectTimeout)))
- return witTypes.Some(options)
-}
-
-// RoundTrip implements the [net/http.RoundTripper] interface.
-func (t *Transport) RoundTrip(req *http.Request) (*http.Response, error) {
- request, err := t.toWASIRequest(req)
- if err != nil {
- return nil, err
- }
-
- result := client.Send(request)
- if result.IsErr() {
- return nil, fmt.Errorf("error sending request: %s", errorCodeString(result.Err()))
- }
-
- response := result.Ok()
- status := int(response.GetStatusCode())
-
- headerResource := response.GetHeaders()
- entries := headerResource.CopyAll()
- headerResource.Drop()
-
- stream, trailers := types.ResponseConsumeBody(response, unitFuture())
- body := newBodyReader(stream, trailers)
-
- resp := &http.Response{
- StatusCode: status,
- Status: http.StatusText(status),
- Request: req,
- Header: http.Header{},
- Body: body,
- Trailer: body.trailer,
- }
- httpconv.AddEntries(resp.Header, entries)
-
- return resp, nil
-}
-
-// toWASIRequest converts an outbound [net/http.Request] into a wasi:http
-// Request. The request body (if any) is streamed from a goroutine, followed by
-// the request trailers, so the caller can send the request before the body has
-// been fully produced.
-func (t *Transport) toWASIRequest(req *http.Request) (*types.Request, error) {
- headers, err := toWASIHeaders(req.Header)
- if err != nil {
- return nil, fmt.Errorf("failed to convert outgoing headers: %w", err)
- }
-
- trailersTx, trailersRx := types.MakeFutureResultOptionFieldsErrorCode()
-
- body := witTypes.None[*witTypes.StreamReader[uint8]]()
- if req.Body == nil {
- go writeTrailers(trailersTx, req.Trailer)
- } else {
- tx, rx := types.MakeStreamU8()
- body = witTypes.Some(rx)
- go func() {
- // For client requests, the Transport is responsible for closing the body.
- defer req.Body.Close()
- defer writeTrailers(trailersTx, req.Trailer)
- defer tx.Drop()
-
- buf := make([]uint8, 16*1024)
- for !tx.ReaderDropped() {
- n, err := req.Body.Read(buf)
- if n > 0 {
- tx.WriteAll(buf[:n])
- }
- if err != nil {
- if err != io.EOF {
- fmt.Fprintf(os.Stderr, "error reading request body: %v\n", err)
- }
- return
- }
- }
- }()
- }
-
- request, sent := types.RequestNew(headers, body, trailersRx, t.requestOptions())
- // TODO(#wasihttp3): surface body-delivery errors instead of dropping them.
- sent.Drop()
-
- request.SetMethod(toWASIMethod(req.Method))
-
- authority := req.Host
- if authority == "" {
- authority = req.URL.Host
- }
- request.SetAuthority(witTypes.Some(authority))
- request.SetPathWithQuery(witTypes.Some(req.URL.RequestURI()))
-
- switch req.URL.Scheme {
- case "http":
- request.SetScheme(witTypes.Some(types.MakeSchemeHttp()))
- case "https":
- request.SetScheme(witTypes.Some(types.MakeSchemeHttps()))
- default:
- request.SetScheme(witTypes.Some(types.MakeSchemeOther(req.URL.Scheme)))
- }
-
- return request, nil
-}
-
-// writeTrailers resolves an outbound request's trailers future once the body
-// (if any) has been fully written.
-func writeTrailers(
- tx *witTypes.FutureWriter[witTypes.Result[witTypes.Option[*types.Fields], types.ErrorCode]],
- trailer http.Header,
-) {
- defer tx.Drop()
-
- if len(trailer) == 0 {
- tx.Write(witTypes.Ok[witTypes.Option[*types.Fields], types.ErrorCode](witTypes.None[*types.Fields]()))
- return
- }
-
- fields, err := toWASIHeaders(trailer)
- if err != nil {
- tx.Write(witTypes.Err[witTypes.Option[*types.Fields]](
- types.MakeErrorCodeInternalError(witTypes.Some(fmt.Sprintf("cannot send trailers: %v", err))),
- ))
- return
- }
- tx.Write(witTypes.Ok[witTypes.Option[*types.Fields], types.ErrorCode](witTypes.Some(fields)))
-}
diff --git a/wasihttp/server_p2.go b/wasihttp/server_p2.go
deleted file mode 100644
index b592f26..0000000
--- a/wasihttp/server_p2.go
+++ /dev/null
@@ -1,59 +0,0 @@
-//go:build !componentizego_async
-
-package wasihttp
-
-import (
- "fmt"
- "net/http"
- "os"
-
- incominghandler "go.bytecodealliance.org/pkg/exports/bytecodealliance_pkg_wasip2_0_1_0/export_wasi_http_0_2_8_incoming_handler"
- types "go.bytecodealliance.org/pkg/imports/wasi_http_0_2_8_types"
- witTypes "go.bytecodealliance.org/pkg/wit/types"
-
- // Pull in the //go:wasmexport glue for the component's exports.
- _ "go.bytecodealliance.org/pkg/exports/bytecodealliance_pkg_wasip2_0_1_0/wit_exports"
-)
-
-func init() {
- incominghandler.Exports.Handle = wasiHandle
-}
-
-// handlerFn is the function called by the wasi:http/incoming-handler export.
-var handlerFn = defaultHandler
-
-// defaultHandler is a placeholder for returning a useful error to stderr when
-// the handler is not set.
-var defaultHandler = func(http.ResponseWriter, *http.Request) {
- fmt.Fprintln(os.Stderr, "http handler undefined")
-}
-
-// Handle sets the [net/http.Handler] that will be called to handle the
-// incoming request. It must be called from an init() function.
-func Handle(h http.Handler) {
- handlerFn = h.ServeHTTP
-}
-
-// HandleFunc sets the [net/http.HandlerFunc] that will be called to handle the
-// incoming request. It must be called from an init() function.
-func HandleFunc(h http.HandlerFunc) {
- handlerFn = h
-}
-
-func wasiHandle(request *types.IncomingRequest, responseOut *types.ResponseOutparam) {
- httpReq, err := wasiToHTTPRequest(request)
- if err != nil {
- types.ResponseOutparamSet(responseOut, witTypes.Err[*types.OutgoingResponse, types.ErrorCode](
- types.MakeErrorCodeInternalError(witTypes.Some(err.Error()))),
- )
- return
- }
- if httpReq.Body != nil {
- defer func() { _ = httpReq.Body.Close() }()
- }
-
- httpRes := newResponseOutparamWriter(responseOut)
- defer func() { _ = httpRes.Close() }()
-
- handlerFn(httpRes, httpReq)
-}
diff --git a/wasihttp/server_p3.go b/wasihttp/server_p3.go
deleted file mode 100644
index b1c4614..0000000
--- a/wasihttp/server_p3.go
+++ /dev/null
@@ -1,79 +0,0 @@
-//go:build componentizego_async
-
-package wasihttp
-
-import (
- "fmt"
- "net/http"
- "os"
-
- handler "go.bytecodealliance.org/pkg/exports/bytecodealliance_pkg_wasip3_0_1_0/export_wasi_http_0_3_0_handler"
- _ "go.bytecodealliance.org/pkg/exports/bytecodealliance_pkg_wasip3_0_1_0/wit_exports"
- types "go.bytecodealliance.org/pkg/imports/wasi_http_0_3_0_types"
- witTypes "go.bytecodealliance.org/pkg/wit/types"
-)
-
-func init() {
- handler.Exports.Handle = wasiHandle
-}
-
-// handlerFn is the function called by the wasi:http/handler export.
-var handlerFn = defaultHandler
-
-// defaultHandler is a placeholder for returning a useful error to stderr when
-// the handler is not set.
-var defaultHandler = func(http.ResponseWriter, *http.Request) {
- fmt.Fprintln(os.Stderr, "http handler undefined")
-}
-
-// Handle sets the [net/http.Handler] that will be called to handle the
-// incoming request. It must be called from an init() function.
-func Handle(h http.Handler) {
- handlerFn = h.ServeHTTP
-}
-
-// HandleFunc sets the [net/http.HandlerFunc] that will be called to handle the
-// incoming request. It must be called from an init() function.
-func HandleFunc(h http.HandlerFunc) {
- handlerFn = h
-}
-
-// wasiHandle bridges the async wasi:http/handler export to the registered
-// net/http handler. The handler runs in a goroutine; wasiHandle returns the
-// wasi Response as soon as the handler produces headers so the response body
-// can stream while the handler is still writing.
-func wasiHandle(request *types.Request) witTypes.Result[*types.Response, types.ErrorCode] {
- res := newResponseWriter()
-
- go func() {
- defer res.close()
-
- req, err := wasiToHTTPRequest(request)
- if err != nil {
- res.channel <- witTypes.Err[*types.Response](
- types.MakeErrorCodeInternalError(witTypes.Some(fmt.Sprintf(
- "failed to convert wasi:http request to http.Request: %v", err,
- ))),
- )
- return
- }
- defer req.Body.Close()
-
- handlerFn(res, req)
-
- // If the handler never wrote to the body, the response has not been
- // sent yet; send it now with headers and status code only.
- if err := res.send(); err != nil {
- res.channel <- witTypes.Err[*types.Response](
- types.MakeErrorCodeInternalError(witTypes.Some(fmt.Sprintf(
- "failed to produce a response: %v", err,
- ))),
- )
- return
- }
-
- res.writeTrailers()
- }()
-
- return <-res.channel
-}
diff --git a/wasihttp/streams_p2.go b/wasihttp/streams_p2.go
deleted file mode 100644
index 6c01129..0000000
--- a/wasihttp/streams_p2.go
+++ /dev/null
@@ -1,177 +0,0 @@
-//go:build !componentizego_async
-
-package wasihttp
-
-import (
- "errors"
- "fmt"
- "io"
- "net/http"
- "sync"
-
- types "go.bytecodealliance.org/pkg/imports/wasi_http_0_2_8_types"
- streams "go.bytecodealliance.org/pkg/imports/wasi_io_0_2_8_streams"
- "go.bytecodealliance.org/pkg/internal/httpconv"
- witTypes "go.bytecodealliance.org/pkg/wit/types"
-)
-
-// bodyConsumer is implemented by [types.IncomingRequest] and
-// [types.IncomingResponse]. It enables the consumption of
-// [wasi:http/types.incoming-request] and [wasi:http/types.incoming-response].
-//
-// [wasi:http/types.incoming-request]: https://github.com/WebAssembly/wasi-http/blob/main/wit/types.wit
-// [wasi:http/types.incoming-response]: https://github.com/WebAssembly/wasi-http/blob/main/wit/types.wit
-type bodyConsumer interface {
- Consume() witTypes.Result[*types.IncomingBody, witTypes.Unit]
- Headers() *types.Fields
-}
-
-type inputStreamReader struct {
- consumer bodyConsumer
- body *types.IncomingBody
- stream *streams.InputStream
- trailerLock sync.Mutex
- trailers http.Header
- trailerOnce sync.Once
-}
-
-func (r *inputStreamReader) Close() error {
- r.trailerOnce.Do(r.parseTrailers)
-
- if r.stream != nil {
- r.stream.Drop()
- }
-
- if r.body != nil {
- r.body.Drop()
- r.body = nil
- }
-
- return nil
-}
-
-func (r *inputStreamReader) parseTrailers() {
- r.trailerLock.Lock()
- defer r.trailerLock.Unlock()
-
- // if we got this far, then we release ownership from body, otherwise it is our responsibility to drop it
- r.stream.Drop()
- r.stream = nil
-
- futureTrailers := types.IncomingBodyFinish(r.body)
- defer futureTrailers.Drop()
-
- trailersResult := futureTrailers.Get()
- r.body = nil
-
- // unroll the future
- if trailersResult.IsNone() {
- return
- }
- if trailersResult.Some().IsErr() {
- return
- }
- if trailersResult.Some().Ok().IsErr() {
- return
- }
- maybeWasiTrailers := trailersResult.Some().Ok().Ok()
-
- if maybeWasiTrailers.IsNone() {
- return
- }
-
- wasiTrailers := maybeWasiTrailers.Some()
- httpconv.AddEntries(r.trailers, wasiTrailers.Entries())
-
- wasiTrailers.Drop()
-}
-
-func (r *inputStreamReader) Read(p []byte) (n int, err error) {
- pollable := r.stream.Subscribe()
- pollable.Block()
- pollable.Drop()
-
- readResult := r.stream.Read(uint64(len(p)))
- if readResult.IsErr() {
- streamErr := readResult.Err()
- if streamErr.Tag() == streams.StreamError_Closed {
- r.trailerOnce.Do(r.parseTrailers)
- return 0, io.EOF
- }
- return 0, fmt.Errorf("failed to read from InputStream %s", streamErr.LastOperationFailed().ToDebugString())
- }
-
- contents := readResult.Ok()
- copy(p, contents)
- return len(contents), nil
-}
-
-// newIncomingBodyTrailer takes a [bodyConsumer] and parses it into a
-// corresponding [io.ReadCloser] and [net/http.Header].
-func newIncomingBodyTrailer(consumer bodyConsumer) (io.ReadCloser, http.Header, error) {
- consumeResult := consumer.Consume()
- if consumeResult.IsErr() {
- return nil, nil, errors.New("failed to consume incoming request")
- }
-
- body := consumeResult.Ok()
- streamResult := body.Stream()
- if streamResult.IsErr() {
- return nil, nil, errors.New("failed to consume incoming request body stream")
- }
-
- stream := streamResult.Ok()
-
- trailers := http.Header{}
- return &inputStreamReader{
- consumer: consumer,
- trailers: trailers,
- body: body,
- stream: stream,
- }, trailers, nil
-}
-
-type outgoingBody struct {
- body *types.OutgoingBody
- stream *streams.OutputStream
-}
-
-// newOutgoingBody takes a [types.OutgoingBody] and returns an [io.WriteCloser]
-// encapsulating it.
-func newOutgoingBody(body *types.OutgoingBody) (io.WriteCloser, error) {
- stream := body.Write()
- if stream.IsErr() {
- return nil, errors.New("failed to acquire resource handle to request body")
- }
- return &outgoingBody{
- body: body,
- stream: stream.Ok(),
- }, nil
-}
-
-func (r *outgoingBody) Close() error {
- r.stream.Drop()
- return nil
-}
-
-func (r *outgoingBody) Write(p []byte) (n int, err error) {
- // Split the input into 4096-byte chunks to avoid exceeding stream buffer limits
- const chunkSize = 4096
- totalWritten := 0
-
- for offset := 0; offset < len(p); offset += chunkSize {
- end := min(offset+chunkSize, len(p))
-
- writeResult := r.stream.BlockingWriteAndFlush(p[offset:end])
- if writeResult.IsErr() {
- streamErr := writeResult.Err()
- if streamErr.Tag() == streams.StreamError_Closed {
- return totalWritten, io.EOF
- }
- return totalWritten, fmt.Errorf("failed to write to response body's stream: %s", streamErr.LastOperationFailed().ToDebugString())
- }
-
- totalWritten += end - offset
- }
- return totalWritten, nil
-}
diff --git a/wasihttp/streams_p3.go b/wasihttp/streams_p3.go
deleted file mode 100644
index 1747330..0000000
--- a/wasihttp/streams_p3.go
+++ /dev/null
@@ -1,84 +0,0 @@
-//go:build componentizego_async
-
-package wasihttp
-
-import (
- "fmt"
- "io"
- "net/http"
-
- types "go.bytecodealliance.org/pkg/imports/wasi_http_0_3_0_types"
- "go.bytecodealliance.org/pkg/internal/httpconv"
- witTypes "go.bytecodealliance.org/pkg/wit/types"
-)
-
-var _ io.ReadCloser = (*bodyReader)(nil)
-
-type trailersFutureReader = witTypes.FutureReader[witTypes.Result[witTypes.Option[*types.Fields], types.ErrorCode]]
-
-// bodyReader adapts a wasi:http body (a stream of bytes plus a future that
-// resolves to optional trailers) into an [io.ReadCloser]. When the stream is
-// exhausted the trailers future is read: an error there is surfaced from Read,
-// otherwise any trailers are copied into trailer and Read returns [io.EOF].
-type bodyReader struct {
- stream *witTypes.StreamReader[uint8]
- trailers *trailersFutureReader
- // trailer is populated once the body has been fully read. Callers share
- // this map via http.Request.Trailer / http.Response.Trailer.
- trailer http.Header
-}
-
-func newBodyReader(stream *witTypes.StreamReader[uint8], trailers *trailersFutureReader) *bodyReader {
- return &bodyReader{
- stream: stream,
- trailers: trailers,
- trailer: http.Header{},
- }
-}
-
-func (r *bodyReader) Read(p []byte) (int, error) {
- if r.stream.WriterDropped() {
- return 0, r.finish()
- }
-
- count := r.stream.Read(p)
- if count == 0 && r.stream.WriterDropped() {
- return 0, r.finish()
- }
-
- return int(count), nil
-}
-
-// finish consumes the trailers future after the body stream has ended,
-// returning the transport error if there was one and io.EOF otherwise.
-func (r *bodyReader) finish() error {
- if r.trailers == nil {
- return io.EOF
- }
-
- result := r.trailers.Read()
- r.trailers = nil
- if result.IsErr() {
- return fmt.Errorf("failed to read from HTTP body stream: %s", errorCodeString(result.Err()))
- }
-
- if fields := result.Ok(); fields.IsSome() {
- trailers := fields.Some()
- httpconv.AddEntries(r.trailer, trailers.CopyAll())
- trailers.Drop()
- }
-
- return io.EOF
-}
-
-func (r *bodyReader) Close() error {
- if r.stream != nil {
- r.stream.Drop()
- r.stream = nil
- }
- if r.trailers != nil {
- r.trailers.Drop()
- r.trailers = nil
- }
- return nil
-}
diff --git a/wasilog/slog.go b/wasilog/slog.go
deleted file mode 100644
index 5dceb9c..0000000
--- a/wasilog/slog.go
+++ /dev/null
@@ -1,215 +0,0 @@
-package wasilog
-
-import (
- "context"
- "fmt"
- "log/slog"
- "strings"
-
- logging "go.bytecodealliance.org/pkg/imports/wasi_logging_0_1_0_draft_logging"
-)
-
-// DefaultLogger is the default implementation that adapts the [wasi:logging] interface to a [slog.Handler].
-//
-// [wasi:logging]: https://github.com/WebAssembly/wasi-logging
-var DefaultLogger = slog.New(DefaultOptions().NewHandler())
-
-// ContextLogger returns a [DefaultLogger] implementation that has an additional "wasi-context" [slog.Attr] attached to it.
-func ContextLogger(wasiContext string) *slog.Logger {
- return DefaultLogger.With(ContextAttr(wasiContext))
-}
-
-type contextKey string
-
-func (k contextKey) String() string {
- return string(k)
-}
-
-// ContextKey is a predefined key used to track the wasi
-const ContextKey = contextKey("wasi-context")
-
-func ContextAttr(name string) slog.Attr {
- return slog.String(string(ContextKey), name)
-}
-
-type wasmLoggerFunc func(level logging.Level, context string, message string)
-
-// WasiLoggingOption represents the available options for customizing the [WebassemblyHandler].
-type WasiLoggingOption struct {
- // required: log function
- LoggerFunc wasmLoggerFunc
- // log level (default: info)
- Level slog.Leveler
-
- // optional: fetch attributes from context
- AttrFromContext []func(ctx context.Context) []slog.Attr
-
- // optional: replace attributes
- ReplaceAttr func(groups []string, a slog.Attr) slog.Attr
-}
-
-// WebassemblyHandler implements the [slog.Handler] interface to adapt [slog] to wasi:logging.
-type WebassemblyHandler struct {
- option WasiLoggingOption
- attrs []slog.Attr
- groups []string
-}
-
-var _ slog.Handler = (*WebassemblyHandler)(nil)
-
-func wasiLevel(level slog.Level) logging.Level {
- switch level {
- case slog.LevelDebug:
- return logging.Level_Debug
- case slog.LevelInfo:
- return logging.Level_Info
- case slog.LevelWarn:
- return logging.Level_Warn
- case slog.LevelError:
- return logging.Level_Error
- default:
- return logging.Level_Debug
- }
-}
-
-// contextAttrs collects attributes from the context using the configured
-// AttrFromContext extractors.
-func contextAttrs(ctx context.Context, fns []func(ctx context.Context) []slog.Attr) []slog.Attr {
- var attrs []slog.Attr
- for _, fn := range fns {
- attrs = append(attrs, fn(ctx)...)
- }
- return attrs
-}
-
-// flatten reduces attrs to leaf attributes: group values are descended with
-// their names appended to the group path, LogValuers are resolved, and
-// replaceAttr is applied to each leaf with its group path (the default
-// ReplaceAttr folds the path into the key, e.g. "a.b.c"). Attributes with an
-// empty key or empty value are dropped.
-func flatten(replaceAttr func(groups []string, a slog.Attr) slog.Attr, groups []string, attrs []slog.Attr) []slog.Attr {
- var output []slog.Attr
- for _, attr := range attrs {
- attr.Value = attr.Value.Resolve()
- if attr.Value.Kind() == slog.KindGroup {
- g := groups
- if attr.Key != "" {
- g = append(groups[:len(groups):len(groups)], attr.Key)
- }
- output = append(output, flatten(replaceAttr, g, attr.Value.Group())...)
- continue
- }
- if replaceAttr != nil {
- attr = replaceAttr(groups, attr)
- attr.Value = attr.Value.Resolve()
- }
- if attr.Key == "" || attr.Value.Equal(slog.Value{}) {
- continue
- }
- output = append(output, attr)
- }
- return output
-}
-
-func wasiConverter(replaceAttr func(groups []string, a slog.Attr) slog.Attr, loggerAttr []slog.Attr, groups []string, record *slog.Record) (string, string) {
- recordAttrs := make([]slog.Attr, 0, record.NumAttrs())
- record.Attrs(func(a slog.Attr) bool {
- recordAttrs = append(recordAttrs, a)
- return true
- })
-
- attrs := flatten(replaceAttr, nil, loggerAttr)
- attrs = append(attrs, flatten(replaceAttr, groups, recordAttrs)...)
-
- // The context key is moved to the 'Context' field in wasi:logging and
- // removed from the log message.
- var context string
- parts := make([]string, 0, len(attrs)+1)
- for _, attr := range attrs {
- if attr.Key == string(ContextKey) {
- context = attr.Value.String()
- continue
- }
- parts = append(parts, fmt.Sprintf("%s=%q", attr.Key, attr.Value.String()))
- }
- parts = append(parts, record.Message)
-
- return strings.Join(parts, " "), context
-}
-
-// DefaultOptions represents the default set of values used in [WasiLoggingOption] that are used in setting up [DefaultLogger].
-func DefaultOptions() WasiLoggingOption {
- return WasiLoggingOption{
- LoggerFunc: logging.Log,
- Level: slog.LevelInfo,
- AttrFromContext: []func(ctx context.Context) []slog.Attr{
- func(ctx context.Context) []slog.Attr {
- if contextName, ok := ctx.Value(ContextKey).(string); ok {
- return []slog.Attr{slog.String(string(ContextKey), string(contextName))}
- }
- return nil
- },
- },
- ReplaceAttr: func(groups []string, a slog.Attr) slog.Attr {
- // Make so groups become a prefix of the key
- // Ex: groups = ["a", "b"], key = "c" => "a.b.c"
- if len(groups) == 0 {
- return a
- }
-
- a.Key = strings.Join(groups, ".") + "." + a.Key
- return a
- },
- }
-}
-
-// NewHandler is used to instantiate a new instance of a [WebassemblyHandler] that implements the [slog.Handler] interface.
-func (o WasiLoggingOption) NewHandler() slog.Handler {
- return &WebassemblyHandler{
- option: o,
- }
-}
-
-// Enabled reports whether the handler handles records at the given level. The handler ignores records whose level is lower.
-func (h *WebassemblyHandler) Enabled(_ context.Context, level slog.Level) bool {
- return level >= h.option.Level.Level()
-}
-
-// Handle formats its argument [slog.Record] using the provided [context.Context] into a wasi:logging compatible output.
-func (h *WebassemblyHandler) Handle(ctx context.Context, record slog.Record) error {
- fromContext := contextAttrs(ctx, h.option.AttrFromContext)
- loggerAttr := append(h.attrs[:len(h.attrs):len(h.attrs)], fromContext...)
- message, logContext := wasiConverter(h.option.ReplaceAttr, loggerAttr, h.groups, &record)
-
- h.option.LoggerFunc(wasiLevel(record.Level), logContext, message)
-
- return nil
-}
-
-// WithAttrs returns a new [WebassemblyHandler] whose attributes consists
-// of h's attributes followed by attrs, nested under the currently open groups.
-func (h *WebassemblyHandler) WithAttrs(attrs []slog.Attr) slog.Handler {
- for i := len(h.groups) - 1; i >= 0; i-- {
- attrs = []slog.Attr{{Key: h.groups[i], Value: slog.GroupValue(attrs...)}}
- }
- return &WebassemblyHandler{
- option: h.option,
- attrs: append(h.attrs[:len(h.attrs):len(h.attrs)], attrs...),
- groups: h.groups,
- }
-}
-
-// WithGroup returns a new [WebassemblyHandler] where the attributes are
-// grouped under a common name.
-func (h *WebassemblyHandler) WithGroup(name string) slog.Handler {
- // https://cs.opensource.google/go/x/exp/+/46b07846:slog/handler.go;l=247
- if name == "" {
- return h
- }
-
- return &WebassemblyHandler{
- option: h.option,
- attrs: h.attrs,
- groups: append(h.groups[:len(h.groups):len(h.groups)], name),
- }
-}
diff --git a/wasilog/slog_stub_test.go b/wasilog/slog_stub_test.go
deleted file mode 100644
index b794cb7..0000000
--- a/wasilog/slog_stub_test.go
+++ /dev/null
@@ -1,15 +0,0 @@
-//go:build !wasm
-
-package wasilog
-
-import (
- _ "unsafe"
-)
-
-// wasmimportLog provides a host-side body for the wasi:logging `log` import
-// so this package's tests can link and run on non-wasm platforms. On wasm
-// targets the real //go:wasmimport declaration provides the symbol.
-//
-//go:linkname wasmimportLog go.bytecodealliance.org/pkg/imports/wasi_logging_0_1_0_draft_logging.wasm_import_log
-func wasmimportLog(arg0 int32, arg1 uintptr, arg2 uint32, arg3 uintptr, arg4 uint32) {
-}
diff --git a/wasilog/slog_test.go b/wasilog/slog_test.go
deleted file mode 100644
index a562f97..0000000
--- a/wasilog/slog_test.go
+++ /dev/null
@@ -1,141 +0,0 @@
-package wasilog
-
-import (
- "context"
- "fmt"
- "log/slog"
- "testing"
-
- logging "go.bytecodealliance.org/pkg/imports/wasi_logging_0_1_0_draft_logging"
-)
-
-func TestLogLevelMapping(t *testing.T) {
- tt := map[string]struct {
- wasiLevel logging.Level
- slogLevel slog.Level
- }{
- "debug": {
- wasiLevel: logging.Level_Debug,
- slogLevel: slog.LevelDebug,
- },
- "info": {
- wasiLevel: logging.Level_Info,
- slogLevel: slog.LevelInfo,
- },
- "warn": {
- wasiLevel: logging.Level_Warn,
- slogLevel: slog.LevelWarn,
- },
- "error": {
- wasiLevel: logging.Level_Error,
- slogLevel: slog.LevelError,
- },
- }
-
- for name, tc := range tt {
- t.Run(name, func(t *testing.T) {
- output := func(level logging.Level, _ string, _ string) {
- if level != tc.wasiLevel {
- t.Errorf("expected: %v, got: %v", tc.wasiLevel, level)
- }
- }
- options := DefaultOptions()
- options.LoggerFunc = output
- logger := slog.New(options.NewHandler())
- logger.Log(context.TODO(), tc.slogLevel, "test")
- })
- }
-}
-
-func TestDefaultLevel(t *testing.T) {
- // default level is info
- // debug -> info -> warn -> error
- // not all wasi levels are mapped (ex: trace & fatal)
-
- allLevels := []slog.Level{
- slog.LevelDebug,
- slog.LevelInfo,
- slog.LevelWarn,
- slog.LevelError,
- }
-
- for i, defaultLevel := range allLevels {
- for j, emitLevel := range allLevels {
- t.Run(fmt.Sprintf("%s_%s", defaultLevel, emitLevel), func(t *testing.T) {
- output := func(level logging.Level, _ string, _ string) {
- if i > j {
- t.Errorf("Emitted log level %v is lower than default log level %v", emitLevel, defaultLevel)
- }
- }
- options := DefaultOptions()
- options.LoggerFunc = output
- options.Level = defaultLevel
- logger := slog.New(options.NewHandler())
- logger.Log(context.TODO(), emitLevel, "test")
- })
- }
- }
-}
-
-func TestContextLift(t *testing.T) {
- // preferred
- t.Run("With", func(t *testing.T) {
- output := func(_ logging.Level, context string, _ string) {
- if context != "from_with" {
- t.Errorf("expected: %v, got: %v", "from_context", context)
- }
- }
- options := DefaultOptions()
- options.LoggerFunc = output
- logger := slog.New(options.NewHandler())
- logger = logger.With(ContextAttr("from_with"))
- logger.Log(context.TODO(), slog.LevelInfo, "test")
- })
- t.Run("attribute", func(t *testing.T) {
- output := func(_ logging.Level, context string, _ string) {
- if context != "from_attribute" {
- t.Errorf("expected: %v, got: %v", "from_attribute", context)
- }
- }
- options := DefaultOptions()
- options.LoggerFunc = output
- logger := slog.New(options.NewHandler())
- logger.Log(context.Background(), slog.LevelInfo, "test", ContextAttr("from_attribute"))
- logger.Log(context.Background(), slog.LevelInfo, "test", ContextKey.String(), "from_attribute")
- logger.Log(context.Background(), slog.LevelInfo, "test", slog.String(ContextKey.String(), "from_attribute"))
- logger.Log(context.Background(), slog.LevelInfo, "test", slog.Any(ContextKey.String(), "from_attribute"))
- })
-
- t.Run("context", func(t *testing.T) {
- output := func(_ logging.Level, context string, _ string) {
- if context != "from_context" {
- t.Errorf("expected: %v, got: %v", "from_context", context)
- }
- }
- options := DefaultOptions()
- options.LoggerFunc = output
- logger := slog.New(options.NewHandler())
- ctx := context.WithValue(context.Background(), ContextKey, "from_context")
- logger.Log(ctx, slog.LevelInfo, "test")
- })
-}
-
-type Token string
-
-// LogValue implements slog.LogValuer.
-// It avoids revealing the token.
-func (Token) LogValue() slog.Value {
- return slog.StringValue("REDACTED_TOKEN")
-}
-
-func TestLogValueMask(t *testing.T) {
- output := func(_ logging.Level, _ string, msg string) {
- if want, got := `token="REDACTED_TOKEN" test`, msg; got != want {
- t.Errorf("expected: %v, got: %v", want, got)
- }
- }
- options := DefaultOptions()
- options.LoggerFunc = output
- logger := slog.New(options.NewHandler())
- logger.Info("test", "token", Token("launch-the-nukes-code"))
-}
diff --git a/wit/deps/wasi-cli-0.2.8/package.wit b/wit/deps/wasi-cli-0.2.8/package.wit
deleted file mode 100644
index 616ac73..0000000
--- a/wit/deps/wasi-cli-0.2.8/package.wit
+++ /dev/null
@@ -1,233 +0,0 @@
-package wasi:cli@0.2.8;
-
-@since(version = 0.2.0)
-interface environment {
- /// Get the POSIX-style environment variables.
- ///
- /// Each environment variable is provided as a pair of string variable names
- /// and string value.
- ///
- /// Morally, these are a value import, but until value imports are available
- /// in the component model, this import function should return the same
- /// values each time it is called.
- @since(version = 0.2.0)
- get-environment: func() -> list>;
-
- /// Get the POSIX-style arguments to the program.
- @since(version = 0.2.0)
- get-arguments: func() -> list;
-
- /// Return a path that programs should use as their initial current working
- /// directory, interpreting `.` as shorthand for this.
- @since(version = 0.2.0)
- initial-cwd: func() -> option;
-}
-
-@since(version = 0.2.0)
-interface exit {
- /// Exit the current instance and any linked instances.
- @since(version = 0.2.0)
- exit: func(status: result);
-
- /// Exit the current instance and any linked instances, reporting the
- /// specified status code to the host.
- ///
- /// The meaning of the code depends on the context, with 0 usually meaning
- /// "success", and other values indicating various types of failure.
- ///
- /// This function does not return; the effect is analogous to a trap, but
- /// without the connotation that something bad has happened.
- @unstable(feature = cli-exit-with-code)
- exit-with-code: func(status-code: u8);
-}
-
-@since(version = 0.2.0)
-interface run {
- /// Run the program.
- @since(version = 0.2.0)
- run: func() -> result;
-}
-
-@since(version = 0.2.0)
-interface stdin {
- @since(version = 0.2.0)
- use wasi:io/streams@0.2.8.{input-stream};
-
- @since(version = 0.2.0)
- get-stdin: func() -> input-stream;
-}
-
-@since(version = 0.2.0)
-interface stdout {
- @since(version = 0.2.0)
- use wasi:io/streams@0.2.8.{output-stream};
-
- @since(version = 0.2.0)
- get-stdout: func() -> output-stream;
-}
-
-@since(version = 0.2.0)
-interface stderr {
- @since(version = 0.2.0)
- use wasi:io/streams@0.2.8.{output-stream};
-
- @since(version = 0.2.0)
- get-stderr: func() -> output-stream;
-}
-
-/// Terminal input.
-///
-/// In the future, this may include functions for disabling echoing,
-/// disabling input buffering so that keyboard events are sent through
-/// immediately, querying supported features, and so on.
-@since(version = 0.2.0)
-interface terminal-input {
- /// The input side of a terminal.
- @since(version = 0.2.0)
- resource terminal-input;
-}
-
-/// Terminal output.
-///
-/// In the future, this may include functions for querying the terminal
-/// size, being notified of terminal size changes, querying supported
-/// features, and so on.
-@since(version = 0.2.0)
-interface terminal-output {
- /// The output side of a terminal.
- @since(version = 0.2.0)
- resource terminal-output;
-}
-
-/// An interface providing an optional `terminal-input` for stdin as a
-/// link-time authority.
-@since(version = 0.2.0)
-interface terminal-stdin {
- @since(version = 0.2.0)
- use terminal-input.{terminal-input};
-
- /// If stdin is connected to a terminal, return a `terminal-input` handle
- /// allowing further interaction with it.
- @since(version = 0.2.0)
- get-terminal-stdin: func() -> option;
-}
-
-/// An interface providing an optional `terminal-output` for stdout as a
-/// link-time authority.
-@since(version = 0.2.0)
-interface terminal-stdout {
- @since(version = 0.2.0)
- use terminal-output.{terminal-output};
-
- /// If stdout is connected to a terminal, return a `terminal-output` handle
- /// allowing further interaction with it.
- @since(version = 0.2.0)
- get-terminal-stdout: func() -> option;
-}
-
-/// An interface providing an optional `terminal-output` for stderr as a
-/// link-time authority.
-@since(version = 0.2.0)
-interface terminal-stderr {
- @since(version = 0.2.0)
- use terminal-output.{terminal-output};
-
- /// If stderr is connected to a terminal, return a `terminal-output` handle
- /// allowing further interaction with it.
- @since(version = 0.2.0)
- get-terminal-stderr: func() -> option;
-}
-
-@since(version = 0.2.0)
-world imports {
- @since(version = 0.2.0)
- import environment;
- @since(version = 0.2.0)
- import exit;
- @since(version = 0.2.0)
- import wasi:io/error@0.2.8;
- @since(version = 0.2.0)
- import wasi:io/poll@0.2.8;
- @since(version = 0.2.0)
- import wasi:io/streams@0.2.8;
- @since(version = 0.2.0)
- import stdin;
- @since(version = 0.2.0)
- import stdout;
- @since(version = 0.2.0)
- import stderr;
- @since(version = 0.2.0)
- import terminal-input;
- @since(version = 0.2.0)
- import terminal-output;
- @since(version = 0.2.0)
- import terminal-stdin;
- @since(version = 0.2.0)
- import terminal-stdout;
- @since(version = 0.2.0)
- import terminal-stderr;
- import wasi:clocks/monotonic-clock@0.2.8;
- import wasi:clocks/wall-clock@0.2.8;
- @unstable(feature = clocks-timezone)
- import wasi:clocks/timezone@0.2.8;
- import wasi:filesystem/types@0.2.8;
- import wasi:filesystem/preopens@0.2.8;
- import wasi:sockets/network@0.2.8;
- import wasi:sockets/instance-network@0.2.8;
- import wasi:sockets/udp@0.2.8;
- import wasi:sockets/udp-create-socket@0.2.8;
- import wasi:sockets/tcp@0.2.8;
- import wasi:sockets/tcp-create-socket@0.2.8;
- import wasi:sockets/ip-name-lookup@0.2.8;
- import wasi:random/random@0.2.8;
- import wasi:random/insecure@0.2.8;
- import wasi:random/insecure-seed@0.2.8;
-}
-@since(version = 0.2.0)
-world command {
- @since(version = 0.2.0)
- import environment;
- @since(version = 0.2.0)
- import exit;
- @since(version = 0.2.0)
- import wasi:io/error@0.2.8;
- @since(version = 0.2.0)
- import wasi:io/poll@0.2.8;
- @since(version = 0.2.0)
- import wasi:io/streams@0.2.8;
- @since(version = 0.2.0)
- import stdin;
- @since(version = 0.2.0)
- import stdout;
- @since(version = 0.2.0)
- import stderr;
- @since(version = 0.2.0)
- import terminal-input;
- @since(version = 0.2.0)
- import terminal-output;
- @since(version = 0.2.0)
- import terminal-stdin;
- @since(version = 0.2.0)
- import terminal-stdout;
- @since(version = 0.2.0)
- import terminal-stderr;
- import wasi:clocks/monotonic-clock@0.2.8;
- import wasi:clocks/wall-clock@0.2.8;
- @unstable(feature = clocks-timezone)
- import wasi:clocks/timezone@0.2.8;
- import wasi:filesystem/types@0.2.8;
- import wasi:filesystem/preopens@0.2.8;
- import wasi:sockets/network@0.2.8;
- import wasi:sockets/instance-network@0.2.8;
- import wasi:sockets/udp@0.2.8;
- import wasi:sockets/udp-create-socket@0.2.8;
- import wasi:sockets/tcp@0.2.8;
- import wasi:sockets/tcp-create-socket@0.2.8;
- import wasi:sockets/ip-name-lookup@0.2.8;
- import wasi:random/random@0.2.8;
- import wasi:random/insecure@0.2.8;
- import wasi:random/insecure-seed@0.2.8;
-
- @since(version = 0.2.0)
- export run;
-}
diff --git a/wit/deps/wasi-cli-0.3.0/package.wit b/wit/deps/wasi-cli-0.3.0/package.wit
deleted file mode 100644
index 7aae56c..0000000
--- a/wit/deps/wasi-cli-0.3.0/package.wit
+++ /dev/null
@@ -1,256 +0,0 @@
-package wasi:cli@0.3.0;
-
-@since(version = 0.3.0)
-interface environment {
- /// Get the POSIX-style environment variables.
- ///
- /// Each environment variable is provided as a pair of string variable names
- /// and string value.
- ///
- /// Morally, these are a value import, but until value imports are available
- /// in the component model, this import function should return the same
- /// values each time it is called.
- @since(version = 0.3.0)
- get-environment: func() -> list>;
-
- /// Get the POSIX-style arguments to the program.
- @since(version = 0.3.0)
- get-arguments: func() -> list;
-
- /// Return a path that programs should use as their initial current working
- /// directory, interpreting `.` as shorthand for this.
- @since(version = 0.3.0)
- get-initial-cwd: func() -> option;
-}
-
-@since(version = 0.3.0)
-interface exit {
- /// Exit the current instance and any linked instances.
- @since(version = 0.3.0)
- exit: func(status: result);
-
- /// Exit the current instance and any linked instances, reporting the
- /// specified status code to the host.
- ///
- /// The meaning of the code depends on the context, with 0 usually meaning
- /// "success", and other values indicating various types of failure.
- ///
- /// This function does not return; the effect is analogous to a trap, but
- /// without the connotation that something bad has happened.
- @since(version = 0.3.0)
- exit-with-code: func(status-code: u8);
-}
-
-@since(version = 0.3.0)
-interface run {
- /// Run the program.
- @since(version = 0.3.0)
- run: async func() -> result;
-}
-
-@since(version = 0.3.0)
-interface types {
- @since(version = 0.3.0)
- enum error-code {
- /// Input/output error
- io,
- /// Invalid or incomplete multibyte or wide character
- illegal-byte-sequence,
- /// Broken pipe
- pipe,
- }
-}
-
-@since(version = 0.3.0)
-interface stdin {
- use types.{error-code};
-
- /// Return a stream for reading from stdin.
- ///
- /// This function returns a stream which provides data read from stdin,
- /// and a future to signal read results.
- ///
- /// If the stream's readable end is dropped the future will resolve to success.
- ///
- /// If the stream's writable end is dropped the future will either resolve to
- /// success if stdin was closed by the writer or to an error-code if reading
- /// failed for some other reason.
- ///
- /// Multiple streams may be active at the same time. The behavior of concurrent
- /// reads is implementation-specific.
- @since(version = 0.3.0)
- read-via-stream: func() -> tuple, future>>;
-}
-
-@since(version = 0.3.0)
-interface stdout {
- use types.{error-code};
-
- /// Write the given stream to stdout.
- ///
- /// If the stream's writable end is dropped this function will either return
- /// success once the entire contents of the stream have been written or an
- /// error-code representing a failure.
- ///
- /// Otherwise if there is an error the readable end of the stream will be
- /// dropped and this function will return an error-code.
- @since(version = 0.3.0)
- write-via-stream: func(data: stream) -> future>;
-}
-
-@since(version = 0.3.0)
-interface stderr {
- use types.{error-code};
-
- /// Write the given stream to stderr.
- ///
- /// If the stream's writable end is dropped this function will either return
- /// success once the entire contents of the stream have been written or an
- /// error-code representing a failure.
- ///
- /// Otherwise if there is an error the readable end of the stream will be
- /// dropped and this function will return an error-code.
- @since(version = 0.3.0)
- write-via-stream: func(data: stream) -> future>;
-}
-
-/// Terminal input.
-///
-/// In the future, this may include functions for disabling echoing,
-/// disabling input buffering so that keyboard events are sent through
-/// immediately, querying supported features, and so on.
-@since(version = 0.3.0)
-interface terminal-input {
- /// The input side of a terminal.
- @since(version = 0.3.0)
- resource terminal-input;
-}
-
-/// Terminal output.
-///
-/// In the future, this may include functions for querying the terminal
-/// size, being notified of terminal size changes, querying supported
-/// features, and so on.
-@since(version = 0.3.0)
-interface terminal-output {
- /// The output side of a terminal.
- @since(version = 0.3.0)
- resource terminal-output;
-}
-
-/// An interface providing an optional `terminal-input` for stdin as a
-/// link-time authority.
-@since(version = 0.3.0)
-interface terminal-stdin {
- @since(version = 0.3.0)
- use terminal-input.{terminal-input};
-
- /// If stdin is connected to a terminal, return a `terminal-input` handle
- /// allowing further interaction with it.
- @since(version = 0.3.0)
- get-terminal-stdin: func() -> option;
-}
-
-/// An interface providing an optional `terminal-output` for stdout as a
-/// link-time authority.
-@since(version = 0.3.0)
-interface terminal-stdout {
- @since(version = 0.3.0)
- use terminal-output.{terminal-output};
-
- /// If stdout is connected to a terminal, return a `terminal-output` handle
- /// allowing further interaction with it.
- @since(version = 0.3.0)
- get-terminal-stdout: func() -> option;
-}
-
-/// An interface providing an optional `terminal-output` for stderr as a
-/// link-time authority.
-@since(version = 0.3.0)
-interface terminal-stderr {
- @since(version = 0.3.0)
- use terminal-output.{terminal-output};
-
- /// If stderr is connected to a terminal, return a `terminal-output` handle
- /// allowing further interaction with it.
- @since(version = 0.3.0)
- get-terminal-stderr: func() -> option;
-}
-
-@since(version = 0.3.0)
-world imports {
- @since(version = 0.3.0)
- import environment;
- @since(version = 0.3.0)
- import exit;
- @since(version = 0.3.0)
- import types;
- @since(version = 0.3.0)
- import stdin;
- @since(version = 0.3.0)
- import stdout;
- @since(version = 0.3.0)
- import stderr;
- @since(version = 0.3.0)
- import terminal-input;
- @since(version = 0.3.0)
- import terminal-output;
- @since(version = 0.3.0)
- import terminal-stdin;
- @since(version = 0.3.0)
- import terminal-stdout;
- @since(version = 0.3.0)
- import terminal-stderr;
- import wasi:clocks/types@0.3.0;
- import wasi:clocks/monotonic-clock@0.3.0;
- import wasi:clocks/system-clock@0.3.0;
- @unstable(feature = clocks-timezone)
- import wasi:clocks/timezone@0.3.0;
- import wasi:filesystem/types@0.3.0;
- import wasi:filesystem/preopens@0.3.0;
- import wasi:sockets/types@0.3.0;
- import wasi:sockets/ip-name-lookup@0.3.0;
- import wasi:random/random@0.3.0;
- import wasi:random/insecure@0.3.0;
- import wasi:random/insecure-seed@0.3.0;
-}
-@since(version = 0.3.0)
-world command {
- @since(version = 0.3.0)
- import environment;
- @since(version = 0.3.0)
- import exit;
- @since(version = 0.3.0)
- import types;
- @since(version = 0.3.0)
- import stdin;
- @since(version = 0.3.0)
- import stdout;
- @since(version = 0.3.0)
- import stderr;
- @since(version = 0.3.0)
- import terminal-input;
- @since(version = 0.3.0)
- import terminal-output;
- @since(version = 0.3.0)
- import terminal-stdin;
- @since(version = 0.3.0)
- import terminal-stdout;
- @since(version = 0.3.0)
- import terminal-stderr;
- import wasi:clocks/types@0.3.0;
- import wasi:clocks/monotonic-clock@0.3.0;
- import wasi:clocks/system-clock@0.3.0;
- @unstable(feature = clocks-timezone)
- import wasi:clocks/timezone@0.3.0;
- import wasi:filesystem/types@0.3.0;
- import wasi:filesystem/preopens@0.3.0;
- import wasi:sockets/types@0.3.0;
- import wasi:sockets/ip-name-lookup@0.3.0;
- import wasi:random/random@0.3.0;
- import wasi:random/insecure@0.3.0;
- import wasi:random/insecure-seed@0.3.0;
-
- @since(version = 0.3.0)
- export run;
-}
diff --git a/wit/deps/wasi-clocks-0.2.8/package.wit b/wit/deps/wasi-clocks-0.2.8/package.wit
deleted file mode 100644
index 918bbea..0000000
--- a/wit/deps/wasi-clocks-0.2.8/package.wit
+++ /dev/null
@@ -1,162 +0,0 @@
-package wasi:clocks@0.2.8;
-
-/// WASI Monotonic Clock is a clock API intended to let users measure elapsed
-/// time.
-///
-/// It is intended to be portable at least between Unix-family platforms and
-/// Windows.
-///
-/// A monotonic clock is a clock which has an unspecified initial value, and
-/// successive reads of the clock will produce non-decreasing values.
-@since(version = 0.2.0)
-interface monotonic-clock {
- @since(version = 0.2.0)
- use wasi:io/poll@0.2.8.{pollable};
-
- /// An instant in time, in nanoseconds. An instant is relative to an
- /// unspecified initial value, and can only be compared to instances from
- /// the same monotonic-clock.
- @since(version = 0.2.0)
- type instant = u64;
-
- /// A duration of time, in nanoseconds.
- @since(version = 0.2.0)
- type duration = u64;
-
- /// Read the current value of the clock.
- ///
- /// The clock is monotonic, therefore calling this function repeatedly will
- /// produce a sequence of non-decreasing values.
- ///
- /// For completeness, this function traps if it's not possible to represent
- /// the value of the clock in an `instant`. Consequently, implementations
- /// should ensure that the starting time is low enough to avoid the
- /// possibility of overflow in practice.
- @since(version = 0.2.0)
- now: func() -> instant;
-
- /// Query the resolution of the clock. Returns the duration of time
- /// corresponding to a clock tick.
- @since(version = 0.2.0)
- resolution: func() -> duration;
-
- /// Create a `pollable` which will resolve once the specified instant
- /// has occurred.
- @since(version = 0.2.0)
- subscribe-instant: func(when: instant) -> pollable;
-
- /// Create a `pollable` that will resolve after the specified duration has
- /// elapsed from the time this function is invoked.
- @since(version = 0.2.0)
- subscribe-duration: func(when: duration) -> pollable;
-}
-
-/// WASI Wall Clock is a clock API intended to let users query the current
-/// time. The name "wall" makes an analogy to a "clock on the wall", which
-/// is not necessarily monotonic as it may be reset.
-///
-/// It is intended to be portable at least between Unix-family platforms and
-/// Windows.
-///
-/// A wall clock is a clock which measures the date and time according to
-/// some external reference.
-///
-/// External references may be reset, so this clock is not necessarily
-/// monotonic, making it unsuitable for measuring elapsed time.
-///
-/// It is intended for reporting the current date and time for humans.
-@since(version = 0.2.0)
-interface wall-clock {
- /// A time and date in seconds plus nanoseconds.
- @since(version = 0.2.0)
- record datetime {
- seconds: u64,
- nanoseconds: u32,
- }
-
- /// Read the current value of the clock.
- ///
- /// This clock is not monotonic, therefore calling this function repeatedly
- /// will not necessarily produce a sequence of non-decreasing values.
- ///
- /// The returned timestamps represent the number of seconds since
- /// 1970-01-01T00:00:00Z, also known as [POSIX's Seconds Since the Epoch],
- /// also known as [Unix Time].
- ///
- /// The nanoseconds field of the output is always less than 1000000000.
- ///
- /// [POSIX's Seconds Since the Epoch]: https://pubs.opengroup.org/onlinepubs/9699919799/xrat/V4_xbd_chap04.html#tag_21_04_16
- /// [Unix Time]: https://en.wikipedia.org/wiki/Unix_time
- @since(version = 0.2.0)
- now: func() -> datetime;
-
- /// Query the resolution of the clock.
- ///
- /// The nanoseconds field of the output is always less than 1000000000.
- @since(version = 0.2.0)
- resolution: func() -> datetime;
-}
-
-@unstable(feature = clocks-timezone)
-interface timezone {
- @unstable(feature = clocks-timezone)
- use wall-clock.{datetime};
-
- /// Information useful for displaying the timezone of a specific `datetime`.
- ///
- /// This information may vary within a single `timezone` to reflect daylight
- /// saving time adjustments.
- @unstable(feature = clocks-timezone)
- record timezone-display {
- /// The number of seconds difference between UTC time and the local
- /// time of the timezone.
- ///
- /// The returned value will always be less than 86400 which is the
- /// number of seconds in a day (24*60*60).
- ///
- /// In implementations that do not expose an actual time zone, this
- /// should return 0.
- utc-offset: s32,
- /// The abbreviated name of the timezone to display to a user. The name
- /// `UTC` indicates Coordinated Universal Time. Otherwise, this should
- /// reference local standards for the name of the time zone.
- ///
- /// In implementations that do not expose an actual time zone, this
- /// should be the string `UTC`.
- ///
- /// In time zones that do not have an applicable name, a formatted
- /// representation of the UTC offset may be returned, such as `-04:00`.
- name: string,
- /// Whether daylight saving time is active.
- ///
- /// In implementations that do not expose an actual time zone, this
- /// should return false.
- in-daylight-saving-time: bool,
- }
-
- /// Return information needed to display the given `datetime`. This includes
- /// the UTC offset, the time zone name, and a flag indicating whether
- /// daylight saving time is active.
- ///
- /// If the timezone cannot be determined for the given `datetime`, return a
- /// `timezone-display` for `UTC` with a `utc-offset` of 0 and no daylight
- /// saving time.
- @unstable(feature = clocks-timezone)
- display: func(when: datetime) -> timezone-display;
-
- /// The same as `display`, but only return the UTC offset.
- @unstable(feature = clocks-timezone)
- utc-offset: func(when: datetime) -> s32;
-}
-
-@since(version = 0.2.0)
-world imports {
- @since(version = 0.2.0)
- import wasi:io/poll@0.2.8;
- @since(version = 0.2.0)
- import monotonic-clock;
- @since(version = 0.2.0)
- import wall-clock;
- @unstable(feature = clocks-timezone)
- import timezone;
-}
diff --git a/wit/deps/wasi-clocks-0.3.0/package.wit b/wit/deps/wasi-clocks-0.3.0/package.wit
deleted file mode 100644
index d8b8cfe..0000000
--- a/wit/deps/wasi-clocks-0.3.0/package.wit
+++ /dev/null
@@ -1,161 +0,0 @@
-package wasi:clocks@0.3.0;
-
-/// This interface common types used throughout wasi:clocks.
-@since(version = 0.3.0)
-interface types {
- /// A duration of time, in nanoseconds.
- @since(version = 0.3.0)
- type duration = u64;
-}
-
-/// WASI Monotonic Clock is a clock API intended to let users measure elapsed
-/// time.
-///
-/// It is intended to be portable at least between Unix-family platforms and
-/// Windows.
-///
-/// A monotonic clock is a clock which has an unspecified initial value, and
-/// successive reads of the clock will produce non-decreasing values.
-@since(version = 0.3.0)
-interface monotonic-clock {
- use types.{duration};
-
- /// A mark on a monotonic clock is a number of nanoseconds since an
- /// unspecified initial value, and can only be compared to instances from
- /// the same monotonic-clock.
- @since(version = 0.3.0)
- type mark = u64;
-
- /// Read the current value of the clock.
- ///
- /// The clock is monotonic, therefore calling this function repeatedly will
- /// produce a sequence of non-decreasing values.
- ///
- /// For completeness, this function traps if it's not possible to represent
- /// the value of the clock in a `mark`. Consequently, implementations
- /// should ensure that the starting time is low enough to avoid the
- /// possibility of overflow in practice.
- @since(version = 0.3.0)
- now: func() -> mark;
-
- /// Query the resolution of the clock. Returns the duration of time
- /// corresponding to a clock tick.
- @since(version = 0.3.0)
- get-resolution: func() -> duration;
-
- /// Wait until the specified mark has occurred.
- @since(version = 0.3.0)
- wait-until: async func(when: mark);
-
- /// Wait for the specified duration to elapse.
- @since(version = 0.3.0)
- wait-for: async func(how-long: duration);
-}
-
-/// WASI System Clock is a clock API intended to let users query the current
-/// time. The clock is not necessarily monotonic as it may be reset.
-///
-/// It is intended to be portable at least between Unix-family platforms and
-/// Windows.
-///
-/// External references may be reset, so this clock is not necessarily
-/// monotonic, making it unsuitable for measuring elapsed time.
-///
-/// It is intended for reporting the current date and time for humans.
-@since(version = 0.3.0)
-interface system-clock {
- use types.{duration};
-
- /// An "instant", or "exact time", is a point in time without regard to any
- /// time zone: just the time since a particular external reference point,
- /// often called an "epoch".
- ///
- /// Here, the epoch is 1970-01-01T00:00:00Z, also known as
- /// [POSIX's Seconds Since the Epoch], also known as [Unix Time].
- ///
- /// Note that even if the seconds field is negative, incrementing
- /// nanoseconds always represents moving forwards in time.
- /// For example, `{ -1 seconds, 999999999 nanoseconds }` represents the
- /// instant one nanosecond before the epoch.
- /// For more on various different ways to represent time, see
- /// https://tc39.es/proposal-temporal/docs/timezone.html
- ///
- /// [POSIX's Seconds Since the Epoch]: https://pubs.opengroup.org/onlinepubs/9699919799/xrat/V4_xbd_chap04.html#tag_21_04_16
- /// [Unix Time]: https://en.wikipedia.org/wiki/Unix_time
- @since(version = 0.3.0)
- record instant {
- seconds: s64,
- nanoseconds: u32,
- }
-
- /// Read the current value of the clock.
- ///
- /// This clock is not monotonic, therefore calling this function repeatedly
- /// will not necessarily produce a sequence of non-decreasing values.
- ///
- /// The nanoseconds field of the output is always less than 1000000000.
- @since(version = 0.3.0)
- now: func() -> instant;
-
- /// Query the resolution of the clock. Returns the smallest duration of time
- /// that the implementation permits distinguishing.
- @since(version = 0.3.0)
- get-resolution: func() -> duration;
-}
-
-@unstable(feature = clocks-timezone)
-interface timezone {
- @unstable(feature = clocks-timezone)
- use system-clock.{instant};
-
- /// Return the IANA identifier of the currently configured timezone. This
- /// should be an identifier from the IANA Time Zone Database.
- ///
- /// For displaying to a user, the identifier should be converted into a
- /// localized name by means of an internationalization API.
- ///
- /// If the implementation does not expose an actual timezone, or is unable
- /// to provide mappings from times to deltas between the configured timezone
- /// and UTC, or determining the current timezone fails, or the timezone does
- /// not have an IANA identifier, this returns nothing.
- @unstable(feature = clocks-timezone)
- iana-id: func() -> option;
-
- /// The number of nanoseconds difference between UTC time and the local
- /// time of the currently configured timezone, at the exact time of
- /// `instant`.
- ///
- /// The magnitude of the returned value will always be less than
- /// 86,400,000,000,000 which is the number of nanoseconds in a day
- /// (24*60*60*1e9).
- ///
- /// If the implementation does not expose an actual timezone, or is unable
- /// to provide mappings from times to deltas between the configured timezone
- /// and UTC, or determining the current timezone fails, this returns
- /// nothing.
- @unstable(feature = clocks-timezone)
- utc-offset: func(when: instant) -> option;
-
- /// Returns a string that is suitable to assist humans in debugging whether
- /// any timezone is available, and if so, which. This may be the same string
- /// as `iana-id`, or a formatted representation of the UTC offset such as
- /// `-04:00`, or something else.
- ///
- /// WARNING: The returned string should not be consumed mechanically! It may
- /// change across platforms, hosts, or other implementation details. Parsing
- /// this string is a major platform-compatibility hazard.
- @unstable(feature = clocks-timezone)
- to-debug-string: func() -> string;
-}
-
-@since(version = 0.3.0)
-world imports {
- @since(version = 0.3.0)
- import types;
- @since(version = 0.3.0)
- import monotonic-clock;
- @since(version = 0.3.0)
- import system-clock;
- @unstable(feature = clocks-timezone)
- import timezone;
-}
diff --git a/wit/deps/wasi-config-0.2.0-rc.1/package.wit b/wit/deps/wasi-config-0.2.0-rc.1/package.wit
deleted file mode 100644
index d8950ee..0000000
--- a/wit/deps/wasi-config-0.2.0-rc.1/package.wit
+++ /dev/null
@@ -1,33 +0,0 @@
-package wasi:config@0.2.0-rc.1;
-
-interface store {
- /// An error type that encapsulates the different errors that can occur fetching configuration values.
- variant error {
- /// This indicates an error from an "upstream" config source.
- /// As this could be almost _anything_ (such as Vault, Kubernetes ConfigMaps, KeyValue buckets, etc),
- /// the error message is a string.
- upstream(string),
- /// This indicates an error from an I/O operation.
- /// As this could be almost _anything_ (such as a file read, network connection, etc),
- /// the error message is a string.
- /// Depending on how this ends up being consumed,
- /// we may consider moving this to use the `wasi:io/error` type instead.
- /// For simplicity right now in supporting multiple implementations, it is being left as a string.
- io(string),
- }
-
- /// Gets a configuration value of type `string` associated with the `key`.
- ///
- /// The value is returned as an `option`. If the key is not found,
- /// `Ok(none)` is returned. If an error occurs, an `Err(error)` is returned.
- get: func(key: string) -> result