UNPKG

express-gateway-plugin-pep

Version:

使用nodejs实现的express-gateway网关权限插件

36 lines (32 loc) 1.58 kB
//使用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;