diff --git a/src/node/src/client.js b/src/node/src/client.js index c02c44730e5..c65dd736503 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 e5217608ecd..7705a275fce 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),