diff --git a/Cargo.toml b/Cargo.toml index 0eb534f..f1f7ae3 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -4,24 +4,25 @@ version = "0.0.0" edition = "2021" publish = false +[lib] +crate-type = ["cdylib"] + [package.metadata.component] package = "component:hello-wasi-http" [package.metadata.component.dependencies] [package.metadata.component.target] -world = "wasi:http/proxy" -path = "wit/deps/http" [package.metadata.component.target.dependencies] +"wasi:http" = { path = "wit/deps/http" } "wasi:clocks" = { path = "wit/deps/clocks" } -"wasi:filesystemm" = { path = "wit/deps/filesystem" } -"wasi:sockets" = { path = "wit/deps/sockets" } "wasi:io" = { path = "wit/deps/io" } "wasi:random" = { path = "wit/deps/random" } "wasi:cli" = { path = "wit/deps/cli" } +"wasi:filesystem" = { path = "wit/deps/filesystem" } +"wasi:sockets" = { path = "wit/deps/sockets" } "wasi:logging" = { path = "wit/deps/logging" } -"wasi:http" = { path = "wit/deps/http" } # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/src/main.rs b/src/lib.rs similarity index 100% rename from src/main.rs rename to src/lib.rs diff --git a/wit/command-extended.wit b/wit/command-extended.wit deleted file mode 100644 index 0661779..0000000 --- a/wit/command-extended.wit +++ /dev/null @@ -1,37 +0,0 @@ -// All of the same imports and exports available in the wasi:cli/command world -// with addition of HTTP proxy related imports: -world command-extended { - import wasi:clocks/wall-clock@0.2.0-rc-2023-10-18; - import wasi:clocks/monotonic-clock@0.2.0-rc-2023-10-18; - import wasi:clocks/timezone@0.2.0-rc-2023-10-18; - import wasi:filesystem/types@0.2.0-rc-2023-10-18; - import wasi:filesystem/preopens@0.2.0-rc-2023-10-18; - import wasi:sockets/instance-network@0.2.0-rc-2023-10-18; - import wasi:sockets/ip-name-lookup@0.2.0-rc-2023-10-18; - import wasi:sockets/network@0.2.0-rc-2023-10-18; - import wasi:sockets/tcp-create-socket@0.2.0-rc-2023-10-18; - import wasi:sockets/tcp@0.2.0-rc-2023-10-18; - import wasi:sockets/udp-create-socket@0.2.0-rc-2023-10-18; - import wasi:sockets/udp@0.2.0-rc-2023-10-18; - import wasi:random/random@0.2.0-rc-2023-10-18; - import wasi:random/insecure@0.2.0-rc-2023-10-18; - import wasi:random/insecure-seed@0.2.0-rc-2023-10-18; - import wasi:io/poll@0.2.0-rc-2023-10-18; - import wasi:io/streams@0.2.0-rc-2023-10-18; - import wasi:cli/environment@0.2.0-rc-2023-10-18; - import wasi:cli/exit@0.2.0-rc-2023-10-18; - import wasi:cli/stdin@0.2.0-rc-2023-10-18; - import wasi:cli/stdout@0.2.0-rc-2023-10-18; - import wasi:cli/stderr@0.2.0-rc-2023-10-18; - import wasi:cli/terminal-input@0.2.0-rc-2023-10-18; - import wasi:cli/terminal-output@0.2.0-rc-2023-10-18; - import wasi:cli/terminal-stdin@0.2.0-rc-2023-10-18; - import wasi:cli/terminal-stdout@0.2.0-rc-2023-10-18; - import wasi:cli/terminal-stderr@0.2.0-rc-2023-10-18; - - // We should replace all others with `include self.command` - // as soon as the unioning of worlds is available: - // https://github.com/WebAssembly/component-model/issues/169 - import wasi:logging/logging@0.2.0-rc-2023-10-18; - import wasi:http/outgoing-handler@0.2.0-rc-2023-10-18; -} diff --git a/wit/main.wit b/wit/main.wit deleted file mode 100644 index f3a4e60..0000000 --- a/wit/main.wit +++ /dev/null @@ -1,33 +0,0 @@ -package wasmtime:wasi; - -// All of the same imports available in the wasi:cli/command world, but no -// export required: -world preview1-adapter-reactor { - import wasi:clocks/wall-clock@0.2.0-rc-2023-10-18; - import wasi:clocks/monotonic-clock@0.2.0-rc-2023-10-18; - import wasi:clocks/timezone@0.2.0-rc-2023-10-18; - import wasi:filesystem/types@0.2.0-rc-2023-10-18; - import wasi:filesystem/preopens@0.2.0-rc-2023-10-18; - import wasi:sockets/instance-network@0.2.0-rc-2023-10-18; - import wasi:sockets/ip-name-lookup@0.2.0-rc-2023-10-18; - import wasi:sockets/network@0.2.0-rc-2023-10-18; - import wasi:sockets/tcp-create-socket@0.2.0-rc-2023-10-18; - import wasi:sockets/tcp@0.2.0-rc-2023-10-18; - import wasi:sockets/udp-create-socket@0.2.0-rc-2023-10-18; - import wasi:sockets/udp@0.2.0-rc-2023-10-18; - import wasi:random/random@0.2.0-rc-2023-10-18; - import wasi:random/insecure@0.2.0-rc-2023-10-18; - import wasi:random/insecure-seed@0.2.0-rc-2023-10-18; - import wasi:io/poll@0.2.0-rc-2023-10-18; - import wasi:io/streams@0.2.0-rc-2023-10-18; - import wasi:cli/environment@0.2.0-rc-2023-10-18; - import wasi:cli/exit@0.2.0-rc-2023-10-18; - import wasi:cli/stdin@0.2.0-rc-2023-10-18; - import wasi:cli/stdout@0.2.0-rc-2023-10-18; - import wasi:cli/stderr@0.2.0-rc-2023-10-18; - import wasi:cli/terminal-input@0.2.0-rc-2023-10-18; - import wasi:cli/terminal-output@0.2.0-rc-2023-10-18; - import wasi:cli/terminal-stdin@0.2.0-rc-2023-10-18; - import wasi:cli/terminal-stdout@0.2.0-rc-2023-10-18; - import wasi:cli/terminal-stderr@0.2.0-rc-2023-10-18; -} diff --git a/wit/test.wit b/wit/test.wit deleted file mode 100644 index 3db5e08..0000000 --- a/wit/test.wit +++ /dev/null @@ -1,46 +0,0 @@ -// only used as part of `test-programs` -world test-reactor { - - import wasi:cli/environment@0.2.0-rc-2023-10-18; - import wasi:io/poll@0.2.0-rc-2023-10-18; - import wasi:io/streams@0.2.0-rc-2023-10-18; - import wasi:filesystem/types@0.2.0-rc-2023-10-18; - import wasi:filesystem/preopens@0.2.0-rc-2023-10-18; - import wasi:cli/exit@0.2.0-rc-2023-10-18; - - export add-strings: func(s: list) -> u32; - export get-strings: func() -> list; - - use wasi:io/streams@0.2.0-rc-2023-10-18.{output-stream}; - - export write-strings-to: func(o: output-stream) -> result; - - use wasi:filesystem/types@0.2.0-rc-2023-10-18.{descriptor-stat}; - export pass-an-imported-record: func(d: descriptor-stat) -> string; -} - -world test-command { - import wasi:io/poll@0.2.0-rc-2023-10-18; - import wasi:io/streams@0.2.0-rc-2023-10-18; - import wasi:cli/environment@0.2.0-rc-2023-10-18; - import wasi:cli/stdin@0.2.0-rc-2023-10-18; - import wasi:cli/stdout@0.2.0-rc-2023-10-18; - import wasi:cli/stderr@0.2.0-rc-2023-10-18; -} - -world test-command-with-sockets { - import wasi:io/poll@0.2.0-rc-2023-10-18; - import wasi:io/streams@0.2.0-rc-2023-10-18; - import wasi:cli/environment@0.2.0-rc-2023-10-18; - import wasi:cli/stdin@0.2.0-rc-2023-10-18; - import wasi:cli/stdout@0.2.0-rc-2023-10-18; - import wasi:cli/stderr@0.2.0-rc-2023-10-18; - import wasi:sockets/tcp@0.2.0-rc-2023-10-18; - import wasi:sockets/tcp-create-socket@0.2.0-rc-2023-10-18; - import wasi:sockets/udp@0.2.0-rc-2023-10-18; - import wasi:sockets/udp-create-socket@0.2.0-rc-2023-10-18; - import wasi:sockets/network@0.2.0-rc-2023-10-18; - import wasi:sockets/instance-network@0.2.0-rc-2023-10-18; - import wasi:sockets/ip-name-lookup@0.2.0-rc-2023-10-18; - import wasi:clocks/monotonic-clock@0.2.0-rc-2023-10-18; -} diff --git a/wit/world.wit b/wit/world.wit new file mode 100644 index 0000000..809d4d0 --- /dev/null +++ b/wit/world.wit @@ -0,0 +1,5 @@ +package sunfishcode:hello-wasi-http; + +world target-world { + include wasi:http/proxy@0.2.0-rc-2023-10-18; +}