Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 如何访问@grpc/grpc js中服务rpc的选项?_Node.js_Protocol Buffers_Grpc_Proto_Grpc Node - Fatal编程技术网

Node.js 如何访问@grpc/grpc js中服务rpc的选项?

Node.js 如何访问@grpc/grpc js中服务rpc的选项?,node.js,protocol-buffers,grpc,proto,grpc-node,Node.js,Protocol Buffers,Grpc,Proto,Grpc Node,如何获取rpc方法中指定的选项? GitHub问题: 我试图找到如何获得服务rpc方法的选项,但找不到如何做到这一点。这里有一些例子,说明如何获得选项,但只有在C++、java和Python中。我没有测试过它是否在任何其他语言中工作 // main.js grpc.loadPackageDefinition(proto.loadSync(glob('proto/*.proto'), require('proto.config.js'))) 我已经将protoLoader选项定义为一个单独的文件

如何获取rpc方法中指定的选项?

GitHub问题:

我试图找到如何获得服务rpc方法的选项,但找不到如何做到这一点。这里有一些例子,说明如何获得选项,但只有在C++、java和Python中。我没有测试过它是否在任何其他语言中工作

// main.js
grpc.loadPackageDefinition(proto.loadSync(glob('proto/*.proto'), require('proto.config.js')))
我已经将protoLoader选项定义为一个单独的文件。这是配置文件:

//proto.config.js
module.exports={
基普卡斯:是的,
长:字符串,
枚举:字符串,
默认值:true,
没错,
alternateCommentMode:true,
包括:[
“原版”
]
}
这是
proto/auth.proto
文件,我在其中定义了选项
google.api.http

syntax=“proto3”;
包认证;
导入“google/protobuf/empty.proto”;
导入“google/api/annotations.proto”;
服务授权服务{
rpc SignIn(SignInRequest)返回(google.protobuf.Empty){
选项(google.api.http)={
post:“/v1/auth/signin”
正文:“*”
};
}
}
消息签名请求{
字符串用户名=1;
字符串密码=2;
}
这是输出,如您所见,输出服务“缺少”属性
选项

{
AuthService:[class i扩展了WE]{
服务:{
签名:{
路径:'/auth.AuthService/SignIn',
请求流:false,
回答团队:错,
requestSerialize:[函数(匿名)],
requestDeserialize:[函数(匿名)],
responseSerialize:[函数(匿名)],
responseDeserialize:[函数(匿名)],
原始名称:'签名',
请求类型:{
格式:“协议缓冲区3描述符协议”,
类型:{
字段:[
{
名称:“用户名”,
extendee:“”,
编号:1,
标签:'label_OPTIONAL',
类型:'type_STRING',
类型名:“”,
默认值:“”,
选项:null,
索引之一:0,
jsonName:“”
},
{
名称:“密码”,
extendee:“”,
编号:2,
标签:'label_OPTIONAL',
类型:'type_STRING',
类型名:“”,
默认值:“”,
选项:null,
索引之一:0,
jsonName:“”
}
],
嵌套类型:[],
枚举类型:[],
扩展范围:[],
分机号码:[],
oneofDecl:[],
储备范围:[],
reservedName:[],
名称:'签名请求',
选项:空
},
文件描述符协议:[
,
,
,
]
},
响应类型:{
格式:“协议缓冲区3描述符协议”,
类型:{
字段:[],
嵌套类型:[],
枚举类型:[],
扩展范围:[],
分机号码:[],
oneofDecl:[],
储备范围:[],
reservedName:[],
名称:'空',
选项:空
},
文件描述符协议:[
,
,
,
]
}
}
}
},
签名请求:{
格式:“协议缓冲区3描述符协议”,
类型:{
字段:[
{
名称:“用户名”,
extendee:“”,
编号:1,
标签:'label_OPTIONAL',
类型:'type_STRING',
类型名:“”,
默认值:“”,
选项:null,
索引之一:0,
jsonName:“”
},
{
名称:“密码”,
extendee:“”,
编号:2,
标签:'label_OPTIONAL',
类型:'type_STRING',
类型名:“”,
默认值:“”,
选项:null,
索引之一:0,
jsonName:“”
}
],
嵌套类型:[],
枚举类型:[],
扩展范围:[],
分机号码:[],
oneofDecl:[],
储备范围:[],
reservedName:[],
名称:'签名请求',
选项:空
},
文件描述符协议:[
,
,
,
]
}
}