mirror of
https://github.com/grpc/grpc-node.git
synced 2025-12-08 18:23:54 +00:00
Node: Validate arguments to addService, fix a couple of minor issues
This commit is contained in:
parent
f86d1c1519
commit
0162490a67
@ -108,7 +108,7 @@ function _write(chunk, encoding, callback) {
|
||||
but passing an object that causes a serialization failure is a misuse
|
||||
of the API anyway, so that's OK. The primary purpose here is to give the
|
||||
programmer a useful error and to stop the stream properly */
|
||||
this.call.cancelWithStatus(grpc.status.INTERNAL, "Serialization failure");
|
||||
this.call.cancelWithStatus(grpc.status.INTERNAL, 'Serialization failure');
|
||||
callback(e);
|
||||
}
|
||||
if (_.isFinite(encoding)) {
|
||||
@ -831,13 +831,12 @@ exports.waitForClientReady = function(client, deadline, callback) {
|
||||
*/
|
||||
exports.makeProtobufClientConstructor = function(service, options) {
|
||||
var method_attrs = common.getProtobufServiceAttrs(service, options);
|
||||
var deprecatedArgumentOrder = false;
|
||||
if (options) {
|
||||
deprecatedArgumentOrder = options.deprecatedArgumentOrder;
|
||||
if (!options) {
|
||||
options = {deprecatedArgumentOrder: false};
|
||||
}
|
||||
var Client = exports.makeClientConstructor(
|
||||
method_attrs, common.fullyQualifiedName(service),
|
||||
deprecatedArgumentOrder);
|
||||
options);
|
||||
Client.service = service;
|
||||
Client.service.grpc_options = options;
|
||||
return Client;
|
||||
|
||||
@ -728,11 +728,17 @@ var defaultHandler = {
|
||||
* method implementation for the provided service.
|
||||
*/
|
||||
Server.prototype.addService = function(service, implementation) {
|
||||
if (!_.isObjectLike(service) || !_.isObjectLike(implementation)) {
|
||||
throw new Error('addService requires two objects as arguments');
|
||||
}
|
||||
if (_.keys(service).length === 0) {
|
||||
throw new Error('Cannot add an empty service to a server');
|
||||
}
|
||||
if (this.started) {
|
||||
throw new Error('Can\'t add a service to a started server.');
|
||||
}
|
||||
var self = this;
|
||||
_.each(service, function(attrs, name) {
|
||||
_.forOwn(service, function(attrs, name) {
|
||||
var method_type;
|
||||
if (attrs.requestStream) {
|
||||
if (attrs.responseStream) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user