[router] Add scope key builder impl and tests. (#7234)

Add scope key builder implementation + unit tests.

Risk Level: LOW (not fully implemented)
Testing: Unit test
Docs Changes: comment of hcm proto updated.

Signed-off-by: Xin Zhuang <stevenzzz@google.com>

Mirrored from https://github.com/envoyproxy/envoy @ d09ce412f96eb6c7a689ed66927879b5983a27d4
pull/620/head
data-plane-api(CircleCI) 6 years ago
parent 560ed2274f
commit a2dce2ae9c
  1. 6
      envoy/config/filter/network/http_connection_manager/v2/http_connection_manager.proto

@ -490,6 +490,10 @@ message ScopedRoutes {
// Specifies a header field's key value pair to match on. // Specifies a header field's key value pair to match on.
message KvElement { message KvElement {
// The separator between key and value (e.g., '=' separates 'k=v;...'). // The separator between key and value (e.g., '=' separates 'k=v;...').
// If an element is an empty string, the element is ignored.
// If an element contains no separator, the whole element is parsed as key and the
// fragment value is an empty string.
// If there are multiple values for a matched key, the first value is returned.
string separator = 1 [(validate.rules).string.min_bytes = 1]; string separator = 1 [(validate.rules).string.min_bytes = 1];
// The key to match on. // The key to match on.
@ -498,6 +502,8 @@ message ScopedRoutes {
oneof extract_type { oneof extract_type {
// Specifies the zero based index of the element to extract. // Specifies the zero based index of the element to extract.
// Note Envoy concatenates multiple values of the same header key into a comma separated
// string, the splitting always happens after the concatenation.
uint32 index = 3; uint32 index = 3;
// Specifies the key value pair to extract the value from. // Specifies the key value pair to extract the value from.

Loading…
Cancel
Save