Implementation of http.send
builtin MK2 (rework of #218)
#221
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.
This PR is a derived work on top of matrix-org/rust-opa-wasm!218, which was originally authored by @MatMaul.
OPA Spec for
http.send
This PR includes what was implemented in the original one:
Changes from the original PR:
serde_yaml
toserde_yml
are omitted so as not to clutter this PR and allow easier review; yaml crate migration can be introduced separatelyDefaultContext
does not provide a working HTTP out of the box - rationale for this is security: integration should explicitly decide to allow HTTP requests, allowlist them, enrich them with authentication/tracing etc; uncontrolled HTTP client by-default seems dangerous, especially given how easy this can be done by the integration.testing
was introduced to gateTestContext
, which depends onreqwest
;opa-wasm
itself does not depend onreqwest
even whenhttp-builtins
feature is enabled so that final integration could customize HTTP appropriately without extra dependencies@MatMaul @sandhose what do you folks think about this?