[][src]Crate envoy_sdk

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 Error type and helpers.

extension

Envoy Extension APIs to be implemented by extensions.

host

Envoy Host APIs provided for use by extensions.

Macros

entrypoint

Generates the _start function that will be called by Envoy to let WebAssembly module initialize itself.