summaryrefslogtreecommitdiff
path: root/c (follow)
AgeCommit message (Collapse)AuthorFilesLines
2024-09-05w-h/0.2.0/echo-request: Update for wasmtime v24.0.0Andrew Clayton3-1/+2
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>
2024-09-05Add the wasmtime v24.0.0 adaptorsAndrew Clayton3-0/+0
Signed-off-by: Andrew Clayton <a.clayton@nginx.com>
2024-02-23wasi-http/echo-request: No longer need to run sed over the APIAndrew Clayton1-2/+0
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>
2024-02-13wasi-http/echo-request: Remove itAndrew Clayton3-198/+0
This is superseded by the wasi-http 0.2.0 version. Signed-off-by: Andrew Clayton <a.clayton@nginx.com>
2024-02-13Add a wasi-http 0.2.0 large-upload component in CAndrew Clayton3-0/+119
This makes use of the 'reactor' adaptor for filesystem access via the preopens method. Signed-off-by: Andrew Clayton <a.clayton@nginx.com>
2024-02-12wasi-http/echo-request: Build using wasm-tools from gitAndrew Clayton1-1/+1
Signed-off-by: Andrew Clayton <a.clayton@nginx.com>
2024-02-06Add a wasi-http 0.2.0 echo-request component in CAndrew Clayton3-0/+198
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>
2023-12-11wasi-http/echo-request: Update for latest wit-bindgen changesAndrew Clayton1-4/+4
Some of the u8 list types were changed/amalgamated. Signed-off-by: Andrew Clayton <a.clayton@nginx.com>
2023-12-01wasi-http/echo-request: Simplify a littleAndrew Clayton1-15/+9
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>
2023-11-28Add a wasi-http echo-request component in CAndrew Clayton4-0/+208
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>
2023-10-26Move wasmtime-wasi-http to its own directoryAndrew Clayton2-0/+356
Moved to c/wasmtime-wasi-http Signed-off-by: Andrew Clayton <a.clayton@nginx.com>
2023-10-26Add a basic C based wasmtime runtimeAndrew Clayton4-0/+173
This can be used for creating an equivalent rust based runtime with C bindings. Signed-off-by: Andrew Clayton <a.clayton@nginx.com>