grpc-js-core: clone local metadata before applying filters

This commit is contained in:
Kelvin Jin 2017-12-22 14:49:51 -08:00
parent b8bfc0fcd6
commit 6b6443d215

View File

@ -207,7 +207,7 @@ export class Http2Channel extends EventEmitter implements Channel {
private startHttp2Stream(
methodName: string, stream: Http2CallStream, metadata: Metadata) {
let finalMetadata: Promise<Metadata> =
stream.filterStack.sendMetadata(Promise.resolve(metadata));
stream.filterStack.sendMetadata(Promise.resolve(metadata.clone()));
Promise.all([finalMetadata, this.connect()])
.then(([metadataValue]) => {
let headers = metadataValue.toHttp2Headers();