feat(wasm): add support for the stable target wasm32-wasip2 #2453
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #2294
Depends on servo/rust-url#983This PR, in order of commits:
reqwest
in the generalwasm32
OS and thewasm32-wasip2
target (which is now a tier 2 target and Rust stable in 1.82)wasm32-wasip2
implementations forreqwest
so that you can compile WebAssembly components and make outgoing requests that compile down towasi:http
bindings- This commit also adds a patch for crates.io that depends on fix: supportwasm32-wasip2
on the stable channel servo/rust-url#983, which is why this PR is a draft. There is no significant functionality change upstream to make the wasm32-wasip2 target work for theurl
crate, just a change to remove an unstable feature flag.wasm_component
to illustrate how this crate can be used in the context of awasm32-wasip2
program.I've attempted to bring over the minimal implementations into the wasm32-wasip2 code, e.g. no multipart support, to keep the review focused and simple to start. If any of these need to be added, I'm happy to add follow-up commits after the review.