aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGravatar murgatroid99 <mlumish@google.com>2015-05-07 13:09:42 -0700
committerGravatar murgatroid99 <mlumish@google.com>2015-05-07 13:09:42 -0700
commit00943fcd32c4d4ea1e0b036ea3f30d1a1749d988 (patch)
tree64d11c1ec5f0cb0ef6edd4c63a97fa01031b5cd3 /src
parente82f8266cf81cb9405755ac3b4ff04e275a4b1de (diff)
Updated the getGoogleAuthDelegate function to use credential.getRequestMetadata
Diffstat (limited to 'src')
-rw-r--r--src/node/index.js7
-rw-r--r--src/node/src/client.js19
2 files changed, 14 insertions, 12 deletions
diff --git a/src/node/index.js b/src/node/index.js
index 875756328d..c09e416c6e 100644
--- a/src/node/index.js
+++ b/src/node/index.js
@@ -100,22 +100,23 @@ function load(filename, format) {
function getGoogleAuthDelegate(credential) {
/**
* Update a metadata object with authentication information.
+ * @param {string} authURI The uri to authenticate to
* @param {Object} metadata Metadata object
* @param {function(Error, Object)} callback
*/
- return function updateMetadata(metadata, callback) {
+ return function updateMetadata(authURI, metadata, callback) {
metadata = _.clone(metadata);
if (metadata.Authorization) {
metadata.Authorization = _.clone(metadata.Authorization);
} else {
metadata.Authorization = [];
}
- credential.getAccessToken(function(err, token) {
+ credential.getRequestMetadata(authURI, function(err, header) {
if (err) {
callback(err);
return;
}
- metadata.Authorization.push('Bearer ' + token);
+ metadata.Authorization.push(header.Authorization);
callback(null, metadata);
});
};
diff --git a/src/node/src/client.js b/src/node/src/client.js
index b2b79e8b70..5f7dcdf4d9 100644
--- a/src/node/src/client.js
+++ b/src/node/src/client.js
@@ -469,27 +469,28 @@ var requester_makers = {
* requestSerialize: function to serialize request objects
* responseDeserialize: function to deserialize response objects
* @param {Object} methods An object mapping method names to method attributes
+ * @param {string} serviceName The name of the service
* @return {function(string, Object)} New client constructor
*/
-function makeClientConstructor(methods) {
+function makeClientConstructor(methods, serviceName) {
/**
* Create a client with the given methods
* @constructor
* @param {string} address The address of the server to connect to
* @param {Object} options Options to pass to the underlying channel
- * @param {function(Object, function)=} updateMetadata function to update the
- * metadata for each request
+ * @param {function(string, Object, function)=} updateMetadata function to
+ * update the metadata for each request
*/
function Client(address, options, updateMetadata) {
- if (updateMetadata) {
- this.updateMetadata = updateMetadata;
- } else {
- this.updateMetadata = function(metadata, callback) {
+ if (!updateMetadata) {
+ updateMetadata = function(uri, metadata, callback) {
callback(null, metadata);
};
}
- this.server_address = address;
+ this.server_address = address.replace(/\/$/, '');
this.channel = new grpc.Channel(address, options);
+ this.updateMetadata = _.partial(updateMetadata,
+ this.server_address + '/' + serviceName);
}
_.each(methods, function(attrs, name) {
@@ -525,7 +526,7 @@ function makeClientConstructor(methods) {
* @return {function(string, Object)} New client constructor
*/
function makeProtobufClientConstructor(service) {
- var method_attrs = common.getProtobufServiceAttrs(service);
+ var method_attrs = common.getProtobufServiceAttrs(service, service.name);
var Client = makeClientConstructor(method_attrs);
Client.service = service;