[EnvoyFilter] Add x-request-id header on response

I have an EnvoyFilter and I need to add in the response the header “x-request-id”. To do so, there is the flag “always_set_request_id_in_response” that must be set to true (HTTP connection manager — envoy 1.22.0-dev-49f3d9 documentation).

This is my EnvoyFilter yaml where I set “always_set_request_id_in_response: true”:

apiVersion: networking.istio.io/v1alpha3
kind: EnvoyFilter
metadata:
  name: example-filter
spec:
  configPatches:
  - applyTo: HTTP_FILTER
    match:
      context: SIDECAR_INBOUND
      listener:
        filterChain:
          filter:
            name: envoy.http_connection_manager
            subFilter:
              name: envoy.filters.http.router
	patch:
      operation: MERGE
      value:
        name: "envoy.filters.network.http_connection_manager"
        typed_config:
          "@type": "type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager"
          always_set_request_id_in_response: true

    patch:
      operation: INSERT_BEFORE
      value:
        name: example-filter-config
        config_discovery:
          config_source:
            ads: {}
            initial_fetch_timeout: 0s
          type_urls: [ "type.googleapis.com/envoy.extensions.filters.http.wasm.v3.Wasm"]
---
apiVersion: networking.istio.io/v1alpha3
kind: EnvoyFilter
metadata:
  name: example-filter-config
spec:
  configPatches:
  - applyTo: EXTENSION_CONFIG
    match:
      context: SIDECAR_INBOUND
    patch:
      operation: ADD
      value:
        name: example-filter-config
        typed_config:
          '@type': type.googleapis.com/udpa.type.v1.TypedStruct
          type_url: type.googleapis.com/envoy.extensions.filters.http.wasm.v3.Wasm
          value:
            config:
              vm_config:
                code:
                  remote:
                    http_uri:
                      uri: https://storage.googleapis.com/istio-ecosystem/wasm-extensions/example/1.9.0.wasm
                    # Optional: specifying checksum will let istio agent
                    # verify the checksum of download artifacts. Missing
                    # checksum will cause the Wasm module to be downloaded
                    # repeatedly
                    sha256: d53a7f59658b0e154338fc50a4a1545e763ca01b5cc5e013f09c99865ee57aad
                runtime: envoy.wasm.runtime.v8

However in the response the header “x-request-id” is not present.

What is the correct way to apply “always_set_request_id_in_response: true” to the EnvoyFilter shown above?

I know the topic is quite old, but was there any solution for that one @hj379 ?