Age | Commit message (Collapse) | Author | Files | Lines |
|
Same issue as commit 92ffa9a ("w-h/0.2.0/echo-request: Update for
wasmtime v24.0.0")
Signed-off-by: Andrew Clayton <a.clayton@nginx.com>
|
|
This also shows an example of (at least the best I could figure out) how
to send an error 4xx/5xx response back.
Signed-off-by: Andrew Clayton <a.clayton@nginx.com>
|
|
Signed-off-by: Andrew Clayton <a.clayton@nginx.com>
|
|
It seems at some point between wasmtime v17 and v24 the setting of
wasi_http_types_result_own_outgoing_response_error_code_t's val.ok
member became mandatory.
I was seeing an error like
error: hyper::Error(User(Service), guest never invoked `response-outparam::set` method: error while executing at wasm backtrace:
0: 0x313b5 - wit-component:shim!indirect-wasi:http/types@0.2.0-[static]response-outparam.set
1: 0x4f9a - module.wasm!wasi_http_types_static_response_outparam_set
2: 0x6253 - module.wasm!exports_wasi_http_incoming_handler_handle
3: 0x54e4 - module.wasm!__wasm_export_exports_wasi_http_incoming_handler_handle
Caused by:
unknown handle index 0)
Thanks to <https://github.com/cdmurph32> who it seems somehow found this
code and had updated it accordingly.
Link: <https://github.com/cdmurph32/pdf-text-example/blob/main/hello_world.c#L173>
Signed-off-by: Andrew Clayton <a.clayton@nginx.com>
|
|
Signed-off-by: Andrew Clayton <a.clayton@nginx.com>
|
|
Remove the sed commands from the Makefile as the version is no longer
encoded in the function and type names. They're still way too long of
course...
Signed-off-by: Andrew Clayton <a.clayton@nginx.com>
|
|
This is superseded by the wasi-http 0.2.0 version.
Signed-off-by: Andrew Clayton <a.clayton@nginx.com>
|
|
This makes use of the 'reactor' adaptor for filesystem access via the
preopens method.
Signed-off-by: Andrew Clayton <a.clayton@nginx.com>
|
|
Signed-off-by: Andrew Clayton <a.clayton@nginx.com>
|
|
This adds a WASI 0.2.0 version of c/wasi-http/echo-request, although
there is no change in component.c, you do now need to link against the
'proxy' adaptor (which is included).
This is for running under wasmtime 17.
Signed-off-by: Andrew Clayton <a.clayton@nginx.com>
|
|
Some of the u8 list types were changed/amalgamated.
Signed-off-by: Andrew Clayton <a.clayton@nginx.com>
|
|
Use the 'blocking' versions of the stream read/write functions.
Things seemed to work fine previously. However with a version of this
that works under the enw Unit wasm module, it didn't and I needed to use
the _input_stream_blocking_read() &
_output_stream_blocking_write_and_flush() functions.
The latter does also allow for a little less code. Let's also use those
functions here...
Signed-off-by: Andrew Clayton <a.clayton@nginx.com>
|
|
This adds a wasi-http version of luw-echo-request.c[0]
This works under the wasmtime v15 CLI serve command.
e.g
$ ~/src/c/wasm/wasmtime-v15.0.0-x86_64-linux/wasmtime serve c/wasi-http/echo-request/component.wasm
Serving HTTP on http://0.0.0.0:8080/
$ curl localhost:8080/hello
*** Welcome to WebAssembly with wasi-http / C ***
[Request Info]
REQUEST_PATH = /hello
METHOD = GET
QUERY =
[Request Headers]
host = localhost:8080
user-agent = curl/8.2.1
accept = */*
[0]: <https://github.com/nginx/unit-wasm/blob/main/examples/c/luw-echo-request.c>
Signed-off-by: Andrew Clayton <a.clayton@nginx.com>
|
|
Moved to c/wasmtime-wasi-http
Signed-off-by: Andrew Clayton <a.clayton@nginx.com>
|
|
This can be used for creating an equivalent rust based runtime with C
bindings.
Signed-off-by: Andrew Clayton <a.clayton@nginx.com>
|
|
This adds the 'Hello World' example from here[0]. The runtime is in Rust
and the component is in C.
This requires some new tools
- https://github.com/bytecodealliance/wit-bindgen
- https://github.com/bytecodealliance/wasm-tools
You can use the pre-built packages, once downloaded and untar'd, edit
rust/hello_world/component/Makefile
and adjust the paths for the above tools.
To build the component with make you may need to specify where the WASI
sysroot is
$ make WASI_SYSROOT=/path/to/wasi-sysroot
[0]: <https://docs.rs/wasmtime/latest/wasmtime/component/macro.bindgen.html>
Signed-off-by: Andrew Clayton <a.clayton@nginx.com>
|
|
Signed-off-by: Andrew Clayton <a.clayton@nginx.com>
|
|
Signed-off-by: Andrew Clayton <a.clayton@nginx.com>
|
|
Signed-off-by: Andrew Clayton <a.clayton@nginx.com>
|
|
Signed-off-by: Andrew Clayton <a.clayton@nginx.com>
|