From bae93fff389a5fffdd7fac3c28a7febea355a0cf Mon Sep 17 00:00:00 2001 From: Kelvin Jin Date: Tue, 19 Dec 2017 15:33:36 -0800 Subject: [PATCH] grpc-js-core: split incoming headers on comma for metadata --- packages/grpc-js-core/src/metadata.ts | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/grpc-js-core/src/metadata.ts b/packages/grpc-js-core/src/metadata.ts index dbdb4e91..84e9160e 100644 --- a/packages/grpc-js-core/src/metadata.ts +++ b/packages/grpc-js-core/src/metadata.ts @@ -181,6 +181,11 @@ export class Metadata { }); return result; } + + // For compatibility with the other Metadata implementation + private _getCoreRepresentation() { + return this.internalRepr; + } /** * Returns a new Metadata object based fields in a given IncomingHttpHeaders @@ -196,7 +201,8 @@ export class Metadata { result.add(key, Buffer.from(value, 'base64')); }); } else if (values !== undefined) { - result.add(key, Buffer.from(values, 'base64')); + values.split(',').map(v => v.trim()).forEach(v => + result.add(key, Buffer.from(v, 'base64'))); } } else { if (Array.isArray(values)) { @@ -204,7 +210,8 @@ export class Metadata { result.add(key, value); }); } else if (values !== undefined) { - result.add(key, values); + values.split(',').map(v => v.trim()).forEach(v => + result.add(key, v)); } } });