From 4ef8abddf240c0d16ecd12be247ceb5d933f3e4b Mon Sep 17 00:00:00 2001 From: Michael Lumish Date: Fri, 8 May 2020 10:47:35 -0700 Subject: [PATCH 1/2] grpc-js: Don't split header values by commas --- packages/grpc-js/src/metadata.ts | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/packages/grpc-js/src/metadata.ts b/packages/grpc-js/src/metadata.ts index 2da9d531..4947bf0a 100644 --- a/packages/grpc-js/src/metadata.ts +++ b/packages/grpc-js/src/metadata.ts @@ -278,11 +278,7 @@ export class Metadata { result.add(key, value); }); } else if (values !== undefined) { - if (isCustomMetadata(key)) { - values.split(',').forEach((v) => result.add(key, v.trim())); - } else { - result.add(key, values); - } + result.add(key, values); } } } catch (error) { From c6deb792697ac9971a25c4f4bafe7931bfec215a Mon Sep 17 00:00:00 2001 From: Michael Lumish Date: Thu, 21 May 2020 10:12:08 -0700 Subject: [PATCH 2/2] Test header splitting behavior --- packages/grpc-js/test/test-metadata.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/grpc-js/test/test-metadata.ts b/packages/grpc-js/test/test-metadata.ts index a56798ac..44182ef3 100644 --- a/packages/grpc-js/test/test-metadata.ts +++ b/packages/grpc-js/test/test-metadata.ts @@ -295,6 +295,7 @@ describe('Metadata', () => { key1: 'value1', key2: ['value2'], key3: ['value3a', 'value3b'], + key4: ['part1, part2'], 'key-bin': [ 'AAECAwQFBgcICQoLDA0ODw==', 'EBESExQVFhcYGRobHB0eHw==', @@ -307,6 +308,7 @@ describe('Metadata', () => { ['key1', ['value1']], ['key2', ['value2']], ['key3', ['value3a', 'value3b']], + ['key4', ['part1, part2']], [ 'key-bin', [