Skip to content

Update for wasmtime 11. #1

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 5 additions & 3 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
{
"image": "ubuntu:jammy",
"remoteEnv": {
"PATH": "${containerEnv:PATH}:/usr/local/lib/wasi-sdk-20.0/bin"
"PATH": "${containerEnv:PATH}:/usr/local/lib/wasi-sdk-20.0/bin:/usr/local/lib"
},
"features": {
"devwasm.azurecr.io/dev-wasm/dev-wasm-feature/wasmtime-wasi:0.0.8": {
"version": "20"
"devwasm.azurecr.io/dev-wasm/dev-wasm-feature/wasmtime-wasi:0.0.9": {
"version": "20",
"wasmtime_version": "v11.0.1",
"wit_version": "0.8.0"
},
"ghcr.io/devcontainers/features/node:1": {},
"ghcr.io/devcontainers/features/common-utils": {}
Expand Down
80 changes: 0 additions & 80 deletions http/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

26 changes: 14 additions & 12 deletions http/raw.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,34 +5,36 @@ export type WasiPtr<T> = usize;
type WasiMutPtr<T> = usize;
type WasiStringBytesPtr = WasiPtr<Char8>;

@external("types", "new-outgoing-request")
@external("wasi:http/types", "new-outgoing-request")
export declare function new_outgoing_request(
method: WasiHandle,
method_ptr: WasiPtr<Char8>,
method_len: usize,
path_is_some: usize,
path_ptr: WasiPtr<Char8>,
path_len: usize,
query_ptr: WasiPtr<Char8>,
query_len: usize,
// query_ptr: WasiPtr<Char8>,
// query_len: usize,
scheme_is_some: usize,
scheme: usize,
scheme_ptr: WasiPtr<Char8>,
scheme_len: usize,
authority_is_some: usize,
authority_ptr: WasiPtr<Char8>,
authority_len: usize,
headers: usize,
): WasiHandle;

@external("types", "outgoing-request-write")
@external("wasi:http/types", "outgoing-request-write")
export declare function outgoing_request_write(request: WasiHandle, stream_ptr: WasiPtr<WasiHandle>): void;

@external("types", "new-fields")
@external("wasi:http/types", "new-fields")
export declare function new_fields(
fields_ptr: WasiPtr<usize>,
fields_len: usize,
): WasiHandle;

@external("default-outgoing-HTTP", "handle")
@external("wasi:http/outgoing-handler", "handle")
export declare function handle(
request: WasiHandle,
a: usize,
Expand All @@ -44,22 +46,22 @@ export declare function handle(
g: usize,
): WasiHandle;

@external("types", "future-incoming-response-get")
@external("wasi:http/types", "future-incoming-response-get")
export declare function future_incoming_response_get(handle: WasiHandle, ptr: WasiPtr<WasiHandle>): void;

@external("types", "incoming-response-status")
@external("wasi:http/types", "incoming-response-status")
export declare function incoming_response_status(handle: WasiHandle): usize;

@external("types", "incoming-response-headers")
@external("wasi:http/types", "incoming-response-headers")
export declare function incoming_response_headers(handle: WasiHandle): WasiHandle;

@external("types", "incoming-response-consume")
@external("wasi:http/types", "incoming-response-consume")
export declare function incoming_response_consume(handle: WasiHandle, ptr: WasiPtr<u8>): void;

@external("streams", "read")
@external("wasi:io/streams", "read")
export declare function streams_read(handle: WasiHandle, len: i64, ptr: WasiPtr<Char8>): void;

@external("streams", "write")
@external("wasi:io/streams", "write")
export declare function streams_write(handle: WasiHandle, ptr: WasiPtr<Char8>, len: usize, result: WasiPtr<WasiHandle>): void;


Expand Down
5 changes: 2 additions & 3 deletions http/request.ts
Original file line number Diff line number Diff line change
Expand Up @@ -89,11 +89,10 @@ export function request(method: string, url: string, body: string | null, header
}
let header_handle = raw.new_fields(header_ptr, header_length);

let path = new raw.WasiString(u.path);
let path = new raw.WasiString(u.path + (u.query.length > 0 ? (u.query) : ""));
let authority = new raw.WasiString(u.authority);
let query = new raw.WasiString(u.query);
let m = getMethod(method);
let req = raw.new_outgoing_request(m, 0, 0, path.ptr, path.length, query.ptr, query.length, 0, 0, 0, 0, authority.ptr, authority.length, header_handle);
let req = raw.new_outgoing_request(m, 0, 0, 1, path.ptr, path.length, 0, 0, 0, 0, 1, authority.ptr, authority.length, header_handle);

let res: raw.WasiPtr<raw.WasiHandle>;

Expand Down