Commit 121c650a authored by Kamron Aroonrua's avatar Kamron Aroonrua 💬

dt-http

parent 488f9ba4
...@@ -11,11 +11,12 @@ function perform_function(context,request,response){ ...@@ -11,11 +11,12 @@ function perform_function(context,request,response){
var output_type = request.input_type; var output_type = request.input_type;
var data = request.data; var data = request.data;
var meta = request.meta; var meta = request.meta || {};
var req_url = param.url || ""; var req_url = param.url || "";
var req_method = param.method || "GET"; var req_method = param.method || "GET";
var req_body_type = param.body_type || "json"; var req_body_type = param.body_type || "json";
var resp_encode = param.encoding || "text";
var env = { var env = {
'type' : output_type, 'type' : output_type,
...@@ -23,16 +24,40 @@ function perform_function(context,request,response){ ...@@ -23,16 +24,40 @@ function perform_function(context,request,response){
'meta' : meta 'meta' : meta
} }
var req_url = Utils.vm_execute_text(env,req_url); req_url = Utils.vm_execute_text(env,req_url);
send_request({'url':req_url,
'method':req_method,
'headers':param.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;
response.meta = respmeta;
send_request({'url':req_url,'method':req_method,'headers':param.headers,'body_type':req_body_type,'body':data},function(err){
if(!err){ if(!err){
response.success(); if(resp_encode=='json'){
try{
var j = JSON.parse(body);
response.success(j,output_type);
}catch(err){
response.success({},output_type);
}
}else{ }else{
response.error(err); response.success(body,output_type);
} }
}) }else{
response.success(null,output_type);
}
});
//response.success(); //response.success();
//response.reject(); //response.reject();
//response.error("error message") //response.error("error message")
...@@ -67,9 +92,11 @@ function send_request(prm,cb) ...@@ -67,9 +92,11 @@ function send_request(prm,cb)
options.headers = Object.assign(options.headers,prm.headers) options.headers = Object.assign(options.headers,prm.headers)
} }
options.encoding = (prm.resp_encode == 'binary')?null:'utf8';
request(options, function (err, resp, body) { request(options, function (err, resp, body) {
if (!err) { if (!err) {
cb(); cb(err, resp, body);
}else{ }else{
cb(new Error("request error")); cb(new Error("request error"));
} }
......
...@@ -11,7 +11,7 @@ function perform_function(context,request,response){ ...@@ -11,7 +11,7 @@ function perform_function(context,request,response){
var in_type = request.input_type; var in_type = request.input_type;
var in_data = request.data; var in_data = request.data;
var in_meta = request.meta; var in_meta = request.meta || {};
var mapenv = { var mapenv = {
'src' : { 'src' : {
......
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