Commit b0211482 authored by Kamron Aroonrua's avatar Kamron Aroonrua 💬

pgp

parent 906d93f7
var ctx = require('../../../context');
var Utils = ctx.getLib('lib/util/plugin-utils');
var request = require("request").defaults({ encoding: null });
function perform_function(context,request,response){
var job_id = context.jobconfig.job_id;
var transaction_id = context.transaction.id;
......@@ -13,11 +11,10 @@ function perform_function(context,request,response){
var data = request.data;
var meta = request.meta || {};
var req_url = param.url || "";
var req_method = param.method || "GET";
var req_headers = param.headers || {};
var req_body_type = param.body_type || "json";
var resp_encode = param.encoding || "text";
var req_function = param.function || "decrypt"
var req_publickey = param.publickey || ""
var req_privatekey = param.privatekey || ""
var req_passphrase = param.passphrase || ""
var env = {
'type' : output_type,
......@@ -25,30 +22,23 @@ function perform_function(context,request,response){
'meta' : meta
}
req_url = Utils.vm_execute_text(env,req_url);
req_publickey = Utils.vm_execute_text(env,req_publickey);
req_privatekey = Utils.vm_execute_text(env,req_privatekey);
req_passphrase = Utils.vm_execute_text(env,req_passphrase);
//parsing param from meta
if(typeof meta._param == 'object')
{
var _prm = meta._param;
req_url = (_prm.url)?_prm.url:req_url;
req_method = (_prm.method)?_prm.method:req_method;
req_headers = (_prm.headers)?_prm.headers:req_headers;
req_body_type = (_prm.body_type)?_prm.body_type:req_body_type;
resp_encode = (_prm.encoding)?_prm.encoding:resp_encode;
req_function = (_prm.function)?_prm.function:req_function;
req_publickey = (_prm.publickey)?_prm.publickey:req_publickey;
req_privatekey = (_prm.privatekey)?_prm.privatekey:req_privatekey;
req_passphrase = (_prm.passphrase)?_prm.passphrase:req_passphrase;
}
send_request({'url':req_url,
'method':req_method,
'headers':req_headers,
'body_type':req_body_type,
'body':data,
'resp_encode':resp_encode},function(err,resp,body){
var respmeta = meta;
Object.keys(respmeta).forEach((k)=>{
if(k.startsWith('_')){delete respmeta[k];}
});
respmeta['_status_code'] = (err)?0:resp.statusCode;
respmeta['_error'] = (err)?true:false;
......@@ -69,51 +59,11 @@ function perform_function(context,request,response){
response.success(null,output_type);
}
});
//response.success();
//response.reject();
//response.error("error message")
}
function send_request(prm,cb)
{
var options = { method: 'GET',
url: prm.url,
headers:
{ 'cache-control': 'no-cache' }
};
if(prm.method.toLowerCase()=='post' || prm.method.toLowerCase()=='put')
{
options.method = prm.method.toUpperCase();
if(prm.body_type=='json' && typeof prm.body == 'object'){
options.headers['content-type'] = 'application/json';
options.json = prm.body;
}else if(prm.body_type=='text' || typeof prm.body == 'string'){
options.headers['content-type'] = 'text/plain';
options.body = prm.body;
}else{
options.body = prm.body;
}
}
if(typeof prm.headers == 'object')
{
options.headers = Object.assign(options.headers,prm.headers)
}
options.encoding = (prm.resp_encode == 'binary')?null:'utf8';
request(options, function (err, resp, body) {
if (!err) {
cb(err, resp, body);
}else{
cb(new Error("request error"));
}
});
}
module.exports = perform_function;
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment