f484a1f36777ca83a9258107bd7f1760b120ba31
[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 _0x95ad=['object','catch','%s\x20%s\x20failed\x20with\x20status:\x20%d\x20and\x20error:\x20%s\x20%s','statusCode','name','request-promise','util','lodash','mustache','../../../../config/logger','data1','toUpperCase','render','data5','number','headers','parse','data6','stack','GET','DELETE','POST','PUT','body','error','body\x20has\x20been\x20passed\x20to\x20URLforward\x20in\x20a\x20wrong\x20format','info','format','%s\x20%s\x20sending\x20request\x20with\x20following\x20options:\x20%s','data2','stringify','then','isNil',',\x20request\x20body:\x20'];(function(_0x44bfb4,_0x2010d8){var _0x4e38c1=function(_0x559cd2){while(--_0x559cd2){_0x44bfb4['push'](_0x44bfb4['shift']());}};_0x4e38c1(++_0x2010d8);}(_0x95ad,0xaf));var _0xd95a=function(_0x5a0491,_0x3cfad9){_0x5a0491=_0x5a0491-0x0;var _0x3664cd=_0x95ad[_0x5a0491];return _0x3664cd;};'use strict';var rp=require(_0xd95a('0x0'));var util=require(_0xd95a('0x1'));var _=require(_0xd95a('0x2'));var Mustache=require(_0xd95a('0x3'));var logger=require(_0xd95a('0x4'))('trigger');exports['exec']=function(_0x2c132a,_0x59771a){var _0x4f6936,_0x38a722;var _0xe72701={'method':_0x2c132a[_0xd95a('0x5')][_0xd95a('0x6')](),'uri':Mustache[_0xd95a('0x7')](_0x2c132a['data2'],_0x59771a),'json':!![],'resolveWithFullResponse':!![],'timeout':typeof parseInt(_0x2c132a[_0xd95a('0x8')])===_0xd95a('0x9')&&parseInt(_0x2c132a[_0xd95a('0x8')])>=0x1&&parseInt(_0x2c132a[_0xd95a('0x8')])<=0xa?parseInt(_0x2c132a['data5'])*0x3e8:0x5*0x3e8};try{_0xe72701[_0xd95a('0xa')]=_0x2c132a['data6']?JSON[_0xd95a('0xb')](Mustache[_0xd95a('0x7')](_0x2c132a[_0xd95a('0xc')],_0x59771a)):{};}catch(_0xd8ba39){logger['error'](_0xd8ba39[_0xd95a('0xd')]);}switch(_0x2c132a['data1'][_0xd95a('0x6')]()){case _0xd95a('0xe'):case _0xd95a('0xf'):_0x4f6936=null;_0xe72701['qs']=_0x59771a;break;case _0xd95a('0x10'):case _0xd95a('0x11'):if(_0x2c132a['data7']){try{_0x4f6936=JSON[_0xd95a('0xb')](Mustache['render'](_0x2c132a['data7'],_0x59771a));_0xe72701[_0xd95a('0x12')]=_0x4f6936;}catch(_0x1b9e62){logger[_0xd95a('0x13')](_0x1b9e62[_0xd95a('0xd')]);logger[_0xd95a('0x13')](_0xd95a('0x14'));}}else{_0x4f6936=_0x59771a;_0xe72701[_0xd95a('0x12')]=_0x4f6936;}break;}logger[_0xd95a('0x15')](util[_0xd95a('0x16')](_0xd95a('0x17'),_0x2c132a[_0xd95a('0x5')],_0x2c132a[_0xd95a('0x18')],JSON[_0xd95a('0x19')](_0xe72701)));rp(_0xe72701)[_0xd95a('0x1a')](function(_0x5e2a17){_0x4f6936=!_[_0xd95a('0x1b')](_0x4f6936)?_0xd95a('0x1c')+_0x4f6936:'';_0x38a722=typeof _0x5e2a17[_0xd95a('0x12')]===_0xd95a('0x1d')?JSON['stringify'](_0x5e2a17[_0xd95a('0x12')]):_0x5e2a17['body'];logger['info'](util[_0xd95a('0x16')]('%s\x20%s\x20succeeded\x20with\x20status:\x20%d\x20and\x20response:\x20%s',_0x2c132a[_0xd95a('0x5')],_0x2c132a[_0xd95a('0x18')],_0x5e2a17['statusCode'],_0x38a722));})[_0xd95a('0x1e')](function(_0xb4e2dd){logger['error'](util[_0xd95a('0x16')](_0xd95a('0x1f'),_0x2c132a[_0xd95a('0x5')],_0x2c132a[_0xd95a('0x18')],_0xb4e2dd[_0xd95a('0x20')],_0xb4e2dd[_0xd95a('0x21')],_0xb4e2dd['message']));});};