From 3f955eb49b47f74642ca7dfa318662c9a0f7b2e3 Mon Sep 17 00:00:00 2001 From: Adhidarma Hadiwinoto <gua@adhisimon.org> Date: Fri, 17 Jun 2016 20:11:52 +0700 Subject: [PATCH] try catch --- xmlrpc-server.js | 29 +++++++++++++++++++++++------ 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/xmlrpc-server.js b/xmlrpc-server.js index dbabf95..d9d781c 100644 --- a/xmlrpc-server.js +++ b/xmlrpc-server.js @@ -296,6 +296,25 @@ function sendReply(response) { }); } +function errorOnTopUpReport(topUpReportError) { + var hasError = false; + + if (!topUpReportError) { + return false; + } + + try { + if (topUpReportError.toString().indexOf('Invalid XML-RPC message') < 0) { + return true; + } + } + catch(e) { + } + + return false; + +} + function sendTopUpReport(reverseUrls, params, urlIdx, retry) { if (retry === null || retry === undefined) { retry = 1; @@ -346,14 +365,12 @@ function sendTopUpReport(reverseUrls, params, urlIdx, retry) { client.methodCall(methodName, [ params ], function (topUpReportError, value) { - if (topUpReportError) { - if (topUpReportError.indexOf('Invalid XML-RPC message') < 0) { + if (errorOnTopUpReport(topUpReportError)) { - logger.warn('Error sending topUpReport retrying another url (if available): ' + topUpReportError, {error: topUpReportError}); - sendTopUpReport(reverseUrls, params, ++urlIdx, retry); - return; + logger.warn('Error sending topUpReport retrying another url (if available): ' + topUpReportError, {error: topUpReportError}); + sendTopUpReport(reverseUrls, params, ++urlIdx, retry); + return; - } } logger.verbose("topUpReport ACK", {value: value}); -- 1.9.0