Security News
CISA Brings KEV Data to GitHub
CISA's KEV data is now on GitHub, offering easier access, API integration, commit history tracking, and automated updates for security teams and researchers.
@higress/proxy-wasm-assemblyscript-sdk
Advanced tools
Use this SDK to write extensions for the proxy WASM ABI
This is a friendly fork of https://github.com/solo-io/proxy-runtime/, temporarily mantained to address an incompatibility between the AssemblyScript SDK and ngx_wasm_module.
Create a new project:
npm init
npm install --save-dev assemblyscript
npx asinit .
Include "use": "abort=abort_proc_exit"
to the asconfig.json
file as part of
the options passed to asc
compiler:
{
"options": {
"use": "abort=abort_proc_exit"
}
}
Add "@kong/proxy-wasm-sdk": "0.0.6"
to your dependencies then run npm install
.
Copy this into assembly/index.ts:
export * from "@kong/proxy-wasm-sdk/proxy";
import {
RootContext,
Context,
registerRootContext,
FilterHeadersStatusValues,
stream_context
} from "@kong/proxy-wasm-sdk";
class AddHeaderRoot extends RootContext {
createContext(context_id: u32): Context {
return new AddHeader(context_id, this);
}
}
class AddHeader extends Context {
constructor(context_id: u32, root_context: AddHeaderRoot) {
super(context_id, root_context);
}
onResponseHeaders(a: u32, end_of_stream: bool): FilterHeadersStatusValues {
const root_context = this.root_context;
if (root_context.getConfiguration() == "") {
stream_context.headers.response.add("hello", "world!");
} else {
stream_context.headers.response.add("hello", root_context.getConfiguration());
}
return FilterHeadersStatusValues.Continue;
}
}
registerRootContext((context_id: u32) => { return new AddHeaderRoot(context_id); }, "add_header");
To build, simply run:
npm run asbuild
build results will be in the build folder. untouched.wasm
and optimized.wasm
are the compiled
file that we will use (you only need one of them, if unsure use optimized.wasm
).
Configure envoy with your filter:
- name: envoy.filters.http.wasm
config:
config:
name: "add_header"
root_id: "add_header"
configuration: "what ever you want"
vm_config:
vm_id: "my_vm_id"
runtime: "envoy.wasm.runtime.v8"
code:
local:
filename: /PATH/TO/CODE/build/optimized.wasm
allow_precompiled: false
FAQs
Use this SDK to write extensions for the proxy WASM ABI
The npm package @higress/proxy-wasm-assemblyscript-sdk receives a total of 4 weekly downloads. As such, @higress/proxy-wasm-assemblyscript-sdk popularity was classified as not popular.
We found that @higress/proxy-wasm-assemblyscript-sdk demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
CISA's KEV data is now on GitHub, offering easier access, API integration, commit history tracking, and automated updates for security teams and researchers.
Security News
Opengrep forks Semgrep to preserve open source SAST in response to controversial licensing changes.
Security News
Critics call the Node.js EOL CVE a misuse of the system, sparking debate over CVE standards and the growing noise in vulnerability databases.