Commit 72409a481d3eb1c248b2a984ef26f41acfd4af31

Authored by sumatek
1 parent a0638777
Exists in master and in 1 other branch dev

update log

Showing 1 changed file with 241 additions and 109 deletions   Show diff stats
ais-structure/src/modules/helper/connection.js
@@ -34,20 +34,25 @@ connection.requestSoapToSACF = async function (req,soap,cmd,myMethod) { @@ -34,20 +34,25 @@ connection.requestSoapToSACF = async function (req,soap,cmd,myMethod) {
34 curRetry : 1 34 curRetry : 1
35 } 35 }
36 36
37 - var funS = function(){  
38 - stats.sendSACFRequest(service.Name,cmd);  
39 - log.logDetail.addOutput(req,service.Name,myMethod+"_"+cmd,constants.REQUEST,params,soap);  
40 - }; 37 +
41 38
42 var funStats = { 39 var funStats = {
43 - start : funS,  
44 - error : function(response){log.addErrorSummary(req,service.Name,myMethod+"_"+cmd,response.resultCode,response.resultDescription);} 40 + start : function(){
  41 + stats.sendSACFRequest(service.Name,cmd);
  42 + log.logDetail.addOutput(req,service.Name,myMethod+"_"+cmd,constants.REQUEST,params,soap);
  43 + },
  44 + end : function(){
  45 + // stats.sendSACFRequest(service.Name,cmd);
  46 + // log.logDetail.addOutput(req,service.Name,myMethod+"_"+cmd,constants.REQUEST,params,soap);
  47 + },
  48 + // error : function(response){log.addErrorSummary(req,service.Name,myMethod+"_"+cmd,response.resultCode,response.resultDescription);}
45 }; 49 };
46 50
47 51
48 var result = await asyncRequest(params,objectData,funStats); 52 var result = await asyncRequest(params,objectData,funStats);
49 53
50 - return checkResponse(result,funStats); 54 + // return checkResponse(result,funStats);
  55 + return result;
51 } 56 }
52 catch(err) { 57 catch(err) {
53 log.log(err); 58 log.log(err);
@@ -88,14 +93,121 @@ connection.requestJsonToD01 = async function (req,obj,cmd,myMethod,filter) { @@ -88,14 +93,121 @@ connection.requestJsonToD01 = async function (req,obj,cmd,myMethod,filter) {
88 93
89 log.log("requestData : "+JSON.stringify(params)) 94 log.log("requestData : "+JSON.stringify(params))
90 95
91 - var funStats = function(){  
92 - stats.sendRestRequest(service.Name,myMethod,cmd);  
93 - log.logDetail.addOutput(req,service.Name,myMethod+"_"+cmd,constants.Request,params,obj);  
94 - };  
95 -  
96 var funStats = { 96 var funStats = {
97 - start : funStats,  
98 - error : function(response){log.addErrorSummary(req,service.Name,myMethod+"_"+cmd,response.resultCode,response.resultDescription);} 97 + start : function(){
  98 + stats.sendRestRequest(service.Name,myMethod,cmd);
  99 + log.logDetail.addOutput(req,service.Name,myMethod+"_"+cmd,constants.REQUEST,params,obj);
  100 + },
  101 + end : function(resultObj){
  102 +
  103 + var returnData = {};
  104 +
  105 + if(resultObj.err)
  106 + {
  107 + //connect err => retry
  108 + var response = {};
  109 + if(resultObj.err.code == constants.RESPONSECONN.STATS.ETIMEDOUT){
  110 + response = constants.RESPONSECONN.MESSAGE.ETIMEDOUT;
  111 + } else if(resultObj.err.code == constants.RESPONSECONN.STATS.ECONNREFUSED){
  112 + response = constants.RESPONSECONN.MESSAGE.ECONNREFUSED;
  113 + } else if(resultObj.err.code == constants.RESPONSECONN.STATS.ESOCKETTIMEDOUT){
  114 + response = constants.RESPONSECONN.MESSAGE.ESOCKETTIMEDOUT;
  115 + }
  116 +
  117 + stats.receiveRestResponse(service.Name,myMethod,cmd,constants.ERROR);
  118 + log.logDetail.addInput(req,service.Name,myMethod+"_"+cmd,constants.RESPONSE,resultObj,response);
  119 + log.addErrorSummary(req,service.Name,myMethod+"_"+cmd,response.resultCode,response.resultDescription);
  120 +
  121 + returnData.retry = true;
  122 + }else
  123 + {
  124 + if(!resultObj.response)
  125 + {
  126 + //no response data => retry
  127 + var response = constants.RESPONSERESULT.ERROR;
  128 + stats.receiveBadRestResponse(service.Name,myMethod,cmd);
  129 + log.logDetail.addInput(req,service.Name,myMethod+"_"+cmd,constants.RESPONSE,resultObj,response);
  130 + log.addErrorSummary(req,service.Name,myMethod+"_"+cmd,response.resultCode,response.resultDescription);
  131 +
  132 + returnData.retry = true;
  133 + }else
  134 + {
  135 + try
  136 + {
  137 + var result = JSON.parse(resultObj.body);
  138 +
  139 + if(!result.resultCode || !result.resultDescription)
  140 + {
  141 + //Missing resultCode or resultDescription => retry
  142 + log.log("Missing resultCode or resultDescription");
  143 + var response = result;
  144 + stats.receiveBadRestResponse(service.Name,myMethod,cmd);
  145 + log.logDetail.addInput(req,service.Name,myMethod+"_"+cmd,constants.RESPONSE,resultObj,response);
  146 + log.addErrorSummary(req,service.Name,myMethod+"_"+cmd,response.resultCode,response.resultDescription);
  147 +
  148 + returnData.retry = true;
  149 + returnData.response = response;
  150 + returnData.err = constants.RESPONSERESULT.MISSING_INVALID.developerMessage;
  151 +
  152 + }else
  153 + {
  154 + //check normal
  155 + var response = result;
  156 + log.logDetail.addInput(req,service.Name,myMethod+"_"+cmd,constants.RESPONSE,resultObj,result);
  157 + if(result.resultCode.startsWith("2"))
  158 + {
  159 + if(result.resultData && result.resultData.length>0)
  160 + {
  161 + stats.receiveRestResponse(service.Name,myMethod,cmd,constants.SUCCESS);
  162 + log.addSuccessSummary(req,service.Name,myMethod+"_"+cmd,result.resultCode,constants.SUCCESS);
  163 + }else
  164 + {
  165 + stats.receiveRestResponse(service.Name,myMethod,cmd,constants.RESPONSERESULT.DATA_NOT_FOUND.developerMessage);
  166 + log.addErrorSummary(req,service.Name,myMethod+"_"+cmd,constants.RESPONSERESULT.DATA_NOT_FOUND.resultCode,constants.RESPONSERESULT.DATA_NOT_FOUND.developerMessage);
  167 + }
  168 +
  169 + returnData.retry = false;
  170 + returnData.response = response;
  171 + returnData.err = response.resultDescription;
  172 + } else if(result.resultCode.startsWith("404")){
  173 + stats.receiveRestResponse(service.Name,myMethod,cmd,constants.RESPONSERESULT.DATA_NOT_FOUND.developerMessage);
  174 + log.addErrorSummary(req,service.Name,myMethod+"_"+cmd,result.resultCode,result.developerMessage);
  175 +
  176 + returnData.retry = false;
  177 + returnData.response = response;
  178 + returnData.err = response.resultDescription;
  179 + } else if(result.resultCode.startsWith("5")){
  180 + stats.receiveRestResponse(service.Name,myMethod,cmd,constants.ERROR);
  181 + log.addErrorSummary(req,service.Name,myMethod+"_"+cmd,result.resultCode,result.developerMessage);
  182 + //retry
  183 +
  184 + returnData.retry = true;
  185 + returnData.response = response;
  186 + returnData.err = response.resultDescription;
  187 + } else {
  188 + stats.receiveRestResponse(service.Name,myMethod,cmd,constants.ERROR);
  189 + log.addErrorSummary(req,service.Name,myMethod+"_"+cmd,result.resultCode,result.developerMessage);
  190 + //retry
  191 +
  192 + returnData.retry = true;
  193 + returnData.response = response;
  194 + returnData.err = response.resultDescription;
  195 + }
  196 + }
  197 + }catch(err) {
  198 +
  199 + // returnData.response = constants.RESPONSERESULT.ERROR;
  200 + returnData.err = constants.RESPONSERESULT.ERROR;
  201 + returnData.retry = true;
  202 +
  203 + }
  204 +
  205 + }
  206 + }
  207 +
  208 + return returnData;
  209 +
  210 + }
99 }; 211 };
100 212
101 213
@@ -171,58 +283,64 @@ connection.requestJsonToD01 = async function (req,obj,cmd,myMethod,filter) { @@ -171,58 +283,64 @@ connection.requestJsonToD01 = async function (req,obj,cmd,myMethod,filter) {
171 params.url = genUrl[0]; 283 params.url = genUrl[0];
172 delete params.body; 284 delete params.body;
173 285
174 - var resultRes = await asyncRequest(params,objectData,funStats); 286 + result = await asyncRequest(params,objectData,funStats);
  287 + // var resultRes = await asyncRequest(params,objectData,funStats);
175 288
176 - // console.log(resultRes);  
177 - if(resultRes.response)  
178 - {  
179 - var data = JSON.parse(resultRes.response.body);  
180 - result.response = data; 289 + // // console.log(resultRes);
  290 + // if(resultRes.response)
  291 + // {
  292 + // var data = JSON.parse(resultRes.response.body);
  293 + // result.response = data;
181 294
182 - } else {  
183 - result = resultRes;  
184 - } 295 + // } else {
  296 + // result = resultRes;
  297 + // }
185 } 298 }
186 299
187 300
188 } else if(params.method == constants.METHOD.POST) { 301 } else if(params.method == constants.METHOD.POST) {
189 302
190 params.body = JSON.stringify(params.body); 303 params.body = JSON.stringify(params.body);
191 -  
192 - var resultRes = await asyncRequest(params,objectData,funStats);  
193 -  
194 - if(resultRes.response){  
195 - result.response = JSON.parse(resultRes.body);  
196 - } else {  
197 - result = resultRes;  
198 - } 304 + result = await asyncRequest(params,objectData,funStats);
  305 + // var resultRes = await asyncRequest(params,objectData,funStats);
  306 +
  307 + // if(resultRes.response){
  308 + // result.response = JSON.parse(resultRes.body);
  309 + // } else {
  310 + // result = resultRes;
  311 + // }
199 } else if(params.method == constants.METHOD.PUT) { 312 } else if(params.method == constants.METHOD.PUT) {
200 313
201 params.url = getUrlFilter(params.url,filter); 314 params.url = getUrlFilter(params.url,filter);
202 315
203 params.body = JSON.stringify(params.body); 316 params.body = JSON.stringify(params.body);
204 317
205 - var resultRes = await asyncRequest(params,objectData,funStats); 318 +
  319 + result = await asyncRequest(params,objectData,funStats);
  320 +
  321 + // var resultRes = await asyncRequest(params,objectData,funStats);
206 322
207 - if(resultRes.response){  
208 - result.response = JSON.parse(resultRes.body);  
209 - } else {  
210 - result = resultRes;  
211 - } 323 + // if(resultRes.response){
  324 + // result.response = JSON.parse(resultRes.body);
  325 + // } else {
  326 + // result = resultRes;
  327 + // }
212 } 328 }
213 329
214 - // console.log(result); 330 + console.log(result);
215 331
216 - if(result.response)  
217 - {  
218 - if(!result.response.resultCode){  
219 - result.err = "Missing resultCode";  
220 - } else if(!result.response.resultDescription){  
221 - result.err = "Missing resultDescription";  
222 - }  
223 - } 332 + // if(result.response)
  333 + // {
  334 + // if(!result.response.resultCode){
  335 + // result.err = "Missing resultCode";
  336 + // } else if(!result.response.resultDescription){
  337 + // result.err = "Missing resultDescription";
  338 + // }
  339 + // }
224 340
225 - return checkResponse(result,funStats); 341 + // return checkResponse(result,funStats);
  342 +
  343 + return result;
226 344
227 } 345 }
228 catch(err) { 346 catch(err) {
@@ -277,43 +395,61 @@ function asyncRequest (params = {},objectData,funStat) { @@ -277,43 +395,61 @@ function asyncRequest (params = {},objectData,funStat) {
277 395
278 if (error) { 396 if (error) {
279 397
280 - if( objectData.maxRetry == objectData.curRetry-1)  
281 - {  
282 - resolve({  
283 - 'body' : body,  
284 - 'err' : error  
285 - });  
286 - }else  
287 - {  
288 - var errRes = {};  
289 - log.log(error,'error');  
290 - if(error.code == constants.RESPONSECONN.STATS.ETIMEDOUT){  
291 - errRes.response = constants.RESPONSECONN.MESSAGE.ETIMEDOUT;  
292 - } else if(error.code == constants.RESPONSECONN.STATS.ECONNREFUSED){  
293 - errRes.response = constants.RESPONSECONN.MESSAGE.ECONNREFUSED;  
294 - } else if(error.code == constants.RESPONSECONN.STATS.ESOCKETTIMEDOUT){  
295 - errRes.response = constants.RESPONSECONN.MESSAGE.ESOCKETTIMEDOUT;  
296 - } else {  
297 - errRes.response = constants.RESPONSECONN.MESSAGE.ERROR;  
298 - }  
299 -  
300 - // console.log("retry "+objectData.curRetry);  
301 - funStat.error(errRes);  
302 - objectData.curRetry++;  
303 - resolve(asyncRequest(params,objectData,funStat));  
304 - } 398 + // if(objectData.maxRetry == objectData.curRetry-1)
  399 + // {
  400 +
  401 + // resolve({
  402 + // 'body' : body,
  403 + // 'err' : error
  404 + // });
  405 + // }else
  406 + // {
  407 + // var responseObj = {
  408 + // 'body' : body,
  409 + // 'err' : error
  410 + // };
  411 +
  412 +
  413 + // if(funStat.end(responseObj))
  414 + // {
  415 + // objectData.curRetry++;
  416 + // resolve(asyncRequest(params,objectData,funStat));
  417 + // }
  418 +
  419 + // }
305 420
306 421
307 422
308 - } else {  
309 -  
310 - // stats.receiveResponse(node,cmd,"Success");  
311 - log.log("Response : "+body);  
312 - resolve({  
313 - 'body' : body,  
314 - 'response' : response  
315 - }); 423 + } else {
  424 +
  425 +
  426 + // var responseObj = {
  427 + // 'body' : body,
  428 + // 'response' : response
  429 + // };
  430 + // resolve(funStat.end(responseObj));
316 } 431 }
  432 +
  433 + var responseObj = {
  434 + 'body' : body,
  435 + 'response' : response,
  436 + 'err' : error
  437 + };
  438 + var result = funStat.end(responseObj);
  439 +
  440 + if(result.retry)
  441 + {
  442 + if(objectData.maxRetry == objectData.curRetry-1)
  443 + resolve(result);
  444 + else
  445 + {
  446 + objectData.curRetry++;
  447 + resolve(asyncRequest(params,objectData,funStat));
  448 + }
  449 +
  450 + }else
  451 + resolve(result);
  452 +
317 }); 453 });
318 }); 454 });
319 }; 455 };
@@ -537,34 +673,30 @@ function arrayUrl(arrUrl,url,filter,fields,freeSpace,arrData) @@ -537,34 +673,30 @@ function arrayUrl(arrUrl,url,filter,fields,freeSpace,arrData)
537 return arrUrl; 673 return arrUrl;
538 } 674 }
539 675
540 -function checkResponse(result,funStats)  
541 -{  
542 - if(result.err)  
543 - {  
544 - log.log("Final Response : "+result.err,'error');  
545 - if(result.err.code == constants.RESPONSECONN.STATS.ETIMEDOUT){  
546 - result.response = constants.RESPONSECONN.MESSAGE.ETIMEDOUT;  
547 - // result.response.resultCode = "50003";  
548 - // result.response.resultDescription = "Timeout";  
549 - } else if(result.err.code == constants.RESPONSECONN.STATS.ECONNREFUSED){  
550 - result.response = constants.RESPONSECONN.MESSAGE.ECONNREFUSED;  
551 - // result.response.resultCode = "50002";  
552 - // result.response.resultDescription = "Reject";  
553 - } else if(result.err.code == constants.RESPONSECONN.STATS.ESOCKETTIMEDOUT){  
554 - result.response = constants.RESPONSECONN.MESSAGE.ESOCKETTIMEDOUT;  
555 - } else {  
556 - if(result.err.resultDescription && result.err.resultDescription.indexOf(constants.RESPONSECONN.STATS.MISSING) != -1){  
557 - result.response.resultCode = constants.RESPONSERESULT.MISSING_INVALID.resultCode;  
558 - result.response.resultDescription = result.err;  
559 - } else {  
560 - result.response = constants.RESPONSECONN.MESSAGE.ERROR;  
561 - }  
562 - }  
563 - funStats.error(result.response)  
564 - }else  
565 - log.log("Final Response : "+JSON.stringify(result));  
566 -  
567 - return result;  
568 -} 676 +// function checkResponse(result,funStats)
  677 +// {
  678 +// if(result.err)
  679 +// {
  680 +// log.log("Final Response : "+result.err,'error');
  681 +// if(result.err.code == constants.RESPONSECONN.STATS.ETIMEDOUT){
  682 +// result.response = constants.RESPONSECONN.MESSAGE.ETIMEDOUT;
  683 +// } else if(result.err.code == constants.RESPONSECONN.STATS.ECONNREFUSED){
  684 +// result.response = constants.RESPONSECONN.MESSAGE.ECONNREFUSED;
  685 +// } else if(result.err.code == constants.RESPONSECONN.STATS.ESOCKETTIMEDOUT){
  686 +// result.response = constants.RESPONSECONN.MESSAGE.ESOCKETTIMEDOUT;
  687 +// } else {
  688 +// if(result.err.resultDescription && result.err.resultDescription.indexOf(constants.RESPONSECONN.STATS.MISSING) != -1){
  689 +// result.response.resultCode = constants.RESPONSERESULT.MISSING_INVALID.resultCode;
  690 +// result.response.resultDescription = result.err;
  691 +// } else {
  692 +// result.response = constants.RESPONSECONN.MESSAGE.ERROR;
  693 +// }
  694 +// }
  695 +// funStats.error(result.response)
  696 +// }else
  697 +// log.log("Final Response : "+JSON.stringify(result));
  698 +
  699 +// return result;
  700 +// }
569 701
570 module.exports = connection; 702 module.exports = connection;
571 \ No newline at end of file 703 \ No newline at end of file