From a3d7794df60b407a552befebf45c92e23415ab52 Mon Sep 17 00:00:00 2001
From: murgatroid99 <mlumish@google.com>
Date: Fri, 19 Feb 2016 15:52:14 -0800
Subject: [PATCH] Add more reflection information to Node client classes

---
 src/node/src/client.js | 4 ++--
 src/node/src/common.js | 2 ++
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/node/src/client.js b/src/node/src/client.js
index c02c44730e..c65dd73650 100644
--- a/src/node/src/client.js
+++ b/src/node/src/client.js
@@ -648,8 +648,8 @@ exports.makeClientConstructor = function(methods, serviceName) {
     var deserialize = attrs.responseDeserialize;
     Client.prototype[name] = requester_makers[method_type](
         attrs.path, serialize, deserialize);
-    Client.prototype[name].serialize = serialize;
-    Client.prototype[name].deserialize = deserialize;
+    // Associate all provided attributes with the method
+    _.assign(Client.prototype[name], attrs);
   });
 
   return Client;
diff --git a/src/node/src/common.js b/src/node/src/common.js
index e5217608ec..7705a275fc 100644
--- a/src/node/src/common.js
+++ b/src/node/src/common.js
@@ -146,6 +146,8 @@ exports.getProtobufServiceAttrs = function getProtobufServiceAttrs(service,
       path: prefix + method.name,
       requestStream: method.requestStream,
       responseStream: method.responseStream,
+      requestType: method.resolvedRequestType,
+      responseType: method.resolvedResponseType,
       requestSerialize: serializeCls(method.resolvedRequestType.build()),
       requestDeserialize: deserializeCls(method.resolvedRequestType.build(),
                                      binaryAsBase64, longsAsStrings),
-- 
GitLab