connection.js 1.66 KB
var env = process.env.NODE_ENV || 'development'; 
var cfg = require('../../config/config.js').get(env);
var stats = require('../helper/stats.js'); 
var request = require('request');
var messageSOAP = require('../helper/messageSOAP.js'); 
var connection = [];

connection.requestSoapToSPW = function (soap,cmd,myMethod) {

    var params = {
        url               : cfg.service.SPW[myMethod+"_"+cmd+"_URL"],
        body              : messageSOAP.objectToSOAP(soap,cmd),
        method            : myMethod
    }

    return asyncRequest(params,cmd,cfg.service.SPW.Name);
};
connection.requestJsonToD01 = function (json,cmd,myMethod) {

    var params = {
        url               : cfg.service.D01[myMethod+"_"+cmd+"_URL"],
        body              : JSON.stringify(json),
        method            : myMethod
    }

    return asyncRequest(params,cmd,cfg.service.D01.Name);

    
};

function asyncRequest (params = {},cmd,node) {


    
    // console.log(params);
    return new Promise((resolve, reject) => {
        request(params, function (error, response, body) {

            stats.sendRequest(node,cmd);

            if (error) {
                // console.log("error");
                stats.reciveResponse(node,cmd,"Error");
                resolve({
                    'body'  : body,
                    'err'   : error
                });
            } else {
                // console.log("normal"); 
                stats.reciveResponse(node,cmd,"Success");               
                resolve({
                    'body'      : body,
                    'response'  : response
                });
            }
        });
    });
};



module.exports = connection;