From e351cfe8c4934e13ee4dbc2b274d594739340eba Mon Sep 17 00:00:00 2001 From: Kelvin Jin Date: Tue, 19 Dec 2017 16:35:05 -0800 Subject: [PATCH] grpc-js-core: add user-agent --- packages/grpc-js-core/src/channel.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/grpc-js-core/src/channel.ts b/packages/grpc-js-core/src/channel.ts index 51ec1fa5..cd88e44d 100644 --- a/packages/grpc-js-core/src/channel.ts +++ b/packages/grpc-js-core/src/channel.ts @@ -14,6 +14,8 @@ import {FilterStackFactory} from './filter-stack'; import {Metadata, MetadataObject} from './metadata'; import { MetadataStatusFilterFactory } from './metadata-status-filter'; +const { version: clientVersion } = require('../../package'); + const IDLE_TIMEOUT_MS = 300000; const MIN_CONNECT_TIMEOUT_MS = 20000; @@ -28,7 +30,8 @@ const { HTTP2_HEADER_METHOD, HTTP2_HEADER_PATH, HTTP2_HEADER_SCHEME, - HTTP2_HEADER_TE + HTTP2_HEADER_TE, + HTTP2_HEADER_USER_AGENT } = http2.constants; /** @@ -209,6 +212,7 @@ export class Http2Channel extends EventEmitter implements Channel { .then(([metadataValue]) => { let headers = metadataValue.toHttp2Headers(); headers[HTTP2_HEADER_AUTHORITY] = this.authority.hostname; + headers[HTTP2_HEADER_USER_AGENT] = `grpc-node/${clientVersion}`; headers[HTTP2_HEADER_CONTENT_TYPE] = 'application/grpc'; headers[HTTP2_HEADER_METHOD] = 'POST'; headers[HTTP2_HEADER_PATH] = methodName;