proxy-wasm / proxy-wasm-rust-sdk

WebAssembly for Proxies (Rust SDK)
Apache License 2.0
492 stars 97 forks source link

use dispatch_grpc_call function how to add http/2 header? #258

Open pi-pi-miao opened 2 months ago

pi-pi-miao commented 2 months ago
fn dispatch_grpc_call(
    &self,
    upstream_name: &str,
    service_name: &str,
    method_name: &str,
    initial_metadata: Vec<(&str, &[u8])>,
    message: Option<&[u8]>,
    timeout: Duration,
) -> Result<u32, Status> {
    hostcalls::dispatch_grpc_call(
        upstream_name,
        service_name,
        method_name,
        initial_metadata,
        message,
        timeout,
    )
}

in istio wasmplugin the dispatch_grpc_call cannot add grpc header, resulting in the other side sidcar or no sidecar environment tonic grpc as server can not parse

PiotrSikora commented 4 weeks ago

gRPC metadata is transmitted as HTTP/2 headers, so you should be able to add gRPC headers via initial_metadata.