5f58a4ffef365a23de3735292b58a563c4d14302
[motion2.git] / server / services / ami / trigger / urlforward / index.js
1 // *************************************************************************
2 // *                                                                       *
3 // * xCALLY Motion -  The Omnichannel Contact Center                       *
4 // * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
5 // *                                                                       *
6 // *************************************************************************
7 // *                                                                       *
8 // * Email: info@xcally.com                                                *
9 // * Website: https://www.xcally.com                                       *
10 // *                                                                       *
11 // *************************************************************************
12 // *                                                                       *
13 // * The SOFTWARE PRODUCT is protected by copyright laws and international *
14 // * copyright treaties, as well as other intellectual property laws and   *
15 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                         *
16 // *                                                                       *
17 // *************************************************************************
18 var _0x970e=['request-promise','util','lodash','mustache','exec','data1','toUpperCase','data5','data6','parse','error','stack','POST','render','body','body\x20has\x20been\x20passed\x20to\x20URLforward\x20in\x20a\x20wrong\x20format','info','data2','then',',\x20request\x20body:\x20','object','stringify','%s\x20%s\x20succeeded\x20with\x20status:\x20%d\x20and\x20response:\x20%s','statusCode','catch','format','name','message'];(function(_0x4154a6,_0x2c0b8e){var _0x3b2786=function(_0x2f5936){while(--_0x2f5936){_0x4154a6['push'](_0x4154a6['shift']());}};_0x3b2786(++_0x2c0b8e);}(_0x970e,0x16c));var _0xe970=function(_0x1334d5,_0x55ab32){_0x1334d5=_0x1334d5-0x0;var _0x3f0eab=_0x970e[_0x1334d5];return _0x3f0eab;};'use strict';var rp=require(_0xe970('0x0'));var util=require(_0xe970('0x1'));var _=require(_0xe970('0x2'));var Mustache=require(_0xe970('0x3'));var logger=require('../../../../config/logger')('trigger');exports[_0xe970('0x4')]=function(_0x34a004,_0x1e2411){var _0x4fcca2,_0x2f6818;var _0x5add03={'method':_0x34a004[_0xe970('0x5')][_0xe970('0x6')](),'uri':Mustache['render'](_0x34a004['data2'],_0x1e2411),'json':!![],'resolveWithFullResponse':!![],'timeout':typeof parseInt(_0x34a004[_0xe970('0x7')])==='number'&&parseInt(_0x34a004[_0xe970('0x7')])>=0x1&&parseInt(_0x34a004[_0xe970('0x7')])<=0xa?parseInt(_0x34a004['data5'])*0x3e8:0x5*0x3e8};try{_0x5add03['headers']=_0x34a004[_0xe970('0x8')]?JSON[_0xe970('0x9')](Mustache['render'](_0x34a004[_0xe970('0x8')],_0x1e2411)):{};}catch(_0x53cd24){logger[_0xe970('0xa')](_0x53cd24[_0xe970('0xb')]);}switch(_0x34a004['data1']['toUpperCase']()){case'GET':case'DELETE':_0x4fcca2=null;_0x5add03['qs']=_0x1e2411;break;case _0xe970('0xc'):case'PUT':if(_0x34a004['data7']){try{_0x4fcca2=JSON[_0xe970('0x9')](Mustache[_0xe970('0xd')](_0x34a004['data7'],_0x1e2411));_0x5add03[_0xe970('0xe')]=_0x4fcca2;}catch(_0xb745f0){logger[_0xe970('0xa')](_0xb745f0[_0xe970('0xb')]);logger[_0xe970('0xa')](_0xe970('0xf'));}}else{_0x4fcca2=_0x1e2411;_0x5add03['body']=_0x4fcca2;}break;}logger[_0xe970('0x10')](util['format']('%s\x20%s\x20sending\x20request\x20with\x20following\x20options:\x20%s',_0x34a004[_0xe970('0x5')],_0x34a004[_0xe970('0x11')],JSON['stringify'](_0x5add03)));rp(_0x5add03)[_0xe970('0x12')](function(_0x245aef){_0x4fcca2=!_['isNil'](_0x4fcca2)?_0xe970('0x13')+_0x4fcca2:'';_0x2f6818=typeof _0x245aef[_0xe970('0xe')]===_0xe970('0x14')?JSON[_0xe970('0x15')](_0x245aef['body']):_0x245aef[_0xe970('0xe')];logger[_0xe970('0x10')](util['format'](_0xe970('0x16'),_0x34a004[_0xe970('0x5')],_0x34a004[_0xe970('0x11')],_0x245aef[_0xe970('0x17')],_0x2f6818));})[_0xe970('0x18')](function(_0x240c11){logger[_0xe970('0xa')](util[_0xe970('0x19')]('%s\x20%s\x20failed\x20with\x20status:\x20%d\x20and\x20error:\x20%s\x20%s',_0x34a004[_0xe970('0x5')],_0x34a004[_0xe970('0x11')],_0x240c11[_0xe970('0x17')],_0x240c11[_0xe970('0x1a')],_0x240c11[_0xe970('0x1b')]));});};