From f03b4dd87fdc9a56e4ef652ccdb9213f7553e97c Mon Sep 17 00:00:00 2001 From: Michael Lumish Date: Tue, 20 Jul 2021 14:12:59 -0700 Subject: [PATCH] Validate uniqueness of http filter names --- packages/grpc-js-xds/src/xds-stream-state/rds-state.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/grpc-js-xds/src/xds-stream-state/rds-state.ts b/packages/grpc-js-xds/src/xds-stream-state/rds-state.ts index 9441a7ec..0322218d 100644 --- a/packages/grpc-js-xds/src/xds-stream-state/rds-state.ts +++ b/packages/grpc-js-xds/src/xds-stream-state/rds-state.ts @@ -141,7 +141,12 @@ export class RdsState implements XdsStreamState { return false; } if (EXPERIMENTAL_FAULT_INJECTION) { - for (const filterConfig of Object.values(route.typed_per_filter_config ?? {})) { + const filterNames = new Set(); + for (const [name, filterConfig] of Object.entries(route.typed_per_filter_config ?? {})) { + if (filterNames.has(name)) { + return false; + } + filterNames.add(name); if (!validateOverrideFilter(filterConfig)) { return false; }