Expand description
Rust SDK for WebAssembly-based Envoy extensions.
§TLDR
/// My very own `HttpFilter`.
struct MyHttpFilter;
impl HttpFilter for MyHttpFilter {
fn on_request_headers(&mut self, _num_headers: usize, _end_of_stream: bool, _ops: &dyn RequestHeadersOps) -> Result<FilterHeadersStatus> {
log::info!("proxying an HTTP request");
Ok(FilterHeadersStatus::Continue)
}
}§Supported Extension Types
Envoy SDK can help you to develop the following types of extensions:
§Supported Envoy APIs
You can use the following Envoy APIs in your extensions:
§Example extensions
§How To
Modules§
- error
- The
Errortype and helpers. - extension
EnvoyExtension APIsto be implemented by extensions.- host
EnvoyHost APIsprovided for use by extensions.
Macros§
- entrypoint
- Generates the
_startfunction that will be called byEnvoyto let WebAssembly module initialize itself.