express-gateway-plugin-pep
Version:
使用nodejs实现的express-gateway网关权限插件
36 lines (32 loc) • 1.58 kB
JavaScript
//使用GRPC实现同步获取PDP接口PdpExec.ExecInput数据
var PROTO_PATH = __dirname + '/../protos/pdp/PdpService.proto';
var grpc = require('grpc');
var protoLoader = require('@grpc/proto-loader');
var packageDefinition = protoLoader.loadSync(
PROTO_PATH,
{keepCase: true,
longs: String,
enums: String,
defaults: true,
oneofs: true
});
var pdpservice_proto = grpc.loadPackageDefinition(packageDefinition).com_para_zta_pdp;
let grpc_result = function(key, namespace, path, access_token, Authorization, address, input){
// var client = new pdpservice_proto.PdpExec(address, grpc.credentials.createInsecure());
var client = new pdpservice_proto.PdpExec(address, grpc.credentials.createInsecure());
return new Promise(function(resolve, reject){
// client.Read({key:key, namespace:namespace, item:item, input:input, access_token:access_token, Authorization:Authorization}, function(err, response) {
//添加meta信息
var meta = new grpc.Metadata();
meta.add('access_token', access_token);
meta.add('Authorization', Authorization);
// client.ExecInput({key:key, namespace:namespace, item:item, input:input, access_token:access_token, Authorization:Authorization}, function(err, response) {
client.ExecInput({key:key, namespace:namespace, path:path, input:input}, meta, function(err, response) {
if (err) {
reject(err);
}
resolve(response);
});
})
}
module.exports = grpc_result;