diff --git a/src/node/src/client.js b/src/node/src/client.js index c02c44730e511ba8a6bfab06e600225cb13a1597..c65dd7365037a00c2f001132788824bf70196890 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 e5217608ecdb5350b2c3c401d8c0aa19187463b9..7705a275fcee23169cc5f5c875d08202e9046813 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),