.. _envoy_api_file_envoy/config/filter/http/header_to_metadata/v2/header_to_metadata.proto: Header-To-Metadata Filter ========================= The configuration for transforming headers into metadata. This is useful for matching load balancer subsets, logging, etc. Header to Metadata :ref:`configuration overview `. .. _envoy_api_msg_config.filter.http.header_to_metadata.v2.Config: config.filter.http.header_to_metadata.v2.Config ----------------------------------------------- `[config.filter.http.header_to_metadata.v2.Config proto] `_ .. code-block:: json { "request_rules": [], "response_rules": [] } .. _envoy_api_field_config.filter.http.header_to_metadata.v2.Config.request_rules: request_rules (:ref:`config.filter.http.header_to_metadata.v2.Config.Rule `) The list of rules to apply to requests. .. _envoy_api_field_config.filter.http.header_to_metadata.v2.Config.response_rules: response_rules (:ref:`config.filter.http.header_to_metadata.v2.Config.Rule `) The list of rules to apply to responses. .. _envoy_api_msg_config.filter.http.header_to_metadata.v2.Config.KeyValuePair: config.filter.http.header_to_metadata.v2.Config.KeyValuePair ------------------------------------------------------------ `[config.filter.http.header_to_metadata.v2.Config.KeyValuePair proto] `_ .. code-block:: json { "metadata_namespace": "...", "key": "...", "value": "...", "type": "..." } .. _envoy_api_field_config.filter.http.header_to_metadata.v2.Config.KeyValuePair.metadata_namespace: metadata_namespace (`string `_) The namespace — if this is empty, the filter's namespace will be used. .. _envoy_api_field_config.filter.http.header_to_metadata.v2.Config.KeyValuePair.key: key (`string `_, *REQUIRED*) The key to use within the namespace. .. _envoy_api_field_config.filter.http.header_to_metadata.v2.Config.KeyValuePair.value: value (`string `_) The value to pair with the given key. When used for a `on_header_present` case, if value is non-empty it'll be used instead of the header value. If both are empty, no metadata is added. When used for a `on_header_missing` case, a non-empty value must be provided otherwise no metadata is added. .. _envoy_api_field_config.filter.http.header_to_metadata.v2.Config.KeyValuePair.type: type (:ref:`config.filter.http.header_to_metadata.v2.Config.ValueType `) The value's type — defaults to string. .. _envoy_api_msg_config.filter.http.header_to_metadata.v2.Config.Rule: config.filter.http.header_to_metadata.v2.Config.Rule ---------------------------------------------------- `[config.filter.http.header_to_metadata.v2.Config.Rule proto] `_ A Rule defines what metadata to apply when a header is present or missing. .. code-block:: json { "header": "...", "on_header_present": "{...}", "on_header_missing": "{...}", "remove": "..." } .. _envoy_api_field_config.filter.http.header_to_metadata.v2.Config.Rule.header: header (`string `_, *REQUIRED*) The header that triggers this rule — required. .. _envoy_api_field_config.filter.http.header_to_metadata.v2.Config.Rule.on_header_present: on_header_present (:ref:`config.filter.http.header_to_metadata.v2.Config.KeyValuePair `) If the header is present, apply this metadata KeyValuePair. If the value in the KeyValuePair is non-empty, it'll be used instead of the header value. .. _envoy_api_field_config.filter.http.header_to_metadata.v2.Config.Rule.on_header_missing: on_header_missing (:ref:`config.filter.http.header_to_metadata.v2.Config.KeyValuePair `) If the header is not present, apply this metadata KeyValuePair. The value in the KeyValuePair must be set, since it'll be used in lieu of the missing header value. .. _envoy_api_field_config.filter.http.header_to_metadata.v2.Config.Rule.remove: remove (`bool `_) Whether or not to remove the header after a rule is applied. This prevents headers from leaking. .. _envoy_api_enum_config.filter.http.header_to_metadata.v2.Config.ValueType: Enum config.filter.http.header_to_metadata.v2.Config.ValueType -------------------------------------------------------------- `[config.filter.http.header_to_metadata.v2.Config.ValueType proto] `_ .. _envoy_api_enum_value_config.filter.http.header_to_metadata.v2.Config.ValueType.STRING: STRING *(DEFAULT)* ⁣ .. _envoy_api_enum_value_config.filter.http.header_to_metadata.v2.Config.ValueType.NUMBER: NUMBER ⁣