From e363fe5aa877610c6ff97735461d989e697524df Mon Sep 17 00:00:00 2001 From: murgatroid99 Date: Tue, 21 Jul 2015 14:27:56 -0700 Subject: [PATCH 1/2] Added user-agent setting code, and a test for it --- src/client.js | 6 +++++- test/surface_test.js | 10 ++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/client.js b/src/client.js index b7bad949..06a0f363 100644 --- a/src/client.js +++ b/src/client.js @@ -47,6 +47,7 @@ var Readable = stream.Readable; var Writable = stream.Writable; var Duplex = stream.Duplex; var util = require('util'); +var version = require('../package.json').version; util.inherits(ClientWritableStream, Writable); @@ -517,7 +518,10 @@ function makeClientConstructor(methods, serviceName) { callback(null, metadata); }; } - + if (!options) { + options = {}; + } + options.GRPC_ARG_PRIMARY_USER_AGENT_STRING = 'grpc-node/' + version; this.server_address = address.replace(/\/$/, ''); this.channel = new grpc.Channel(address, options); this.auth_uri = this.server_address + '/' + serviceName; diff --git a/test/surface_test.js b/test/surface_test.js index 18178e49..3cb68f8c 100644 --- a/test/surface_test.js +++ b/test/surface_test.js @@ -258,6 +258,16 @@ describe('Echo metadata', function() { }); call.end(); }); + it('shows the correct user-agent string', function(done) { + var version = require('../package.json').version; + var call = client.unary({}, function(err, data) { + assert.ifError(err); + }, {key: ['value']}); + call.on('metadata', function(metadata) { + assert(_.startsWith(metadata['user-agent'], 'grpc-node/' + version)); + done(); + }); + }); }); describe('Other conditions', function() { var client; From 169fa73f667d2450b250524e529c2bac277d0413 Mon Sep 17 00:00:00 2001 From: murgatroid99 Date: Wed, 22 Jul 2015 09:58:38 -0700 Subject: [PATCH 2/2] Fixed setting user-agent string --- src/client.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/client.js b/src/client.js index 06a0f363..da6327b4 100644 --- a/src/client.js +++ b/src/client.js @@ -521,9 +521,9 @@ function makeClientConstructor(methods, serviceName) { if (!options) { options = {}; } - options.GRPC_ARG_PRIMARY_USER_AGENT_STRING = 'grpc-node/' + version; - this.server_address = address.replace(/\/$/, ''); + options['grpc.primary_user_agent'] = 'grpc-node/' + version; this.channel = new grpc.Channel(address, options); + this.server_address = address.replace(/\/$/, ''); this.auth_uri = this.server_address + '/' + serviceName; this.updateMetadata = updateMetadata; }