From a6cb48faa495bfba26679e19cdd4594fc393f514 Mon Sep 17 00:00:00 2001 From: Benjamin York Date: Mon, 8 Jan 2018 14:44:47 -0500 Subject: [PATCH] Prevented callback and success from being called in one call to common.loggly. --- lib/loggly/common.js | 46 ++++++++++++++++++++++---------------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/lib/loggly/common.js b/lib/loggly/common.js index fab9c15..085e501 100644 --- a/lib/loggly/common.js +++ b/lib/loggly/common.js @@ -175,18 +175,13 @@ common.loggly = function () { request(requestOptions, function (err, res, body) { if (err) return onError(err); statusCode = res.statusCode.toString(); - if(statusCode === '403') isValidToken = false; - if (statusCode === '500' || statusCode === '503' || statusCode === '504') retryOnServerError(res); - if (statusCode === '200') { - arrRetryLogs.splice(0, 1); - totalRetries = 0; - } - if (Object.keys(failCodes).indexOf(statusCode) !== -1) { - if (statusCode !== '503' && statusCode !== '500' && statusCode !== '504') { - return onError((new Error('Loggly Error (' + statusCode + '): ' + failCodes[statusCode]))); + if (statusCode === '200') { + arrRetryLogs.splice(0, 1); + totalRetries = 0; + success(res, body); + } else { + retryOnServerError(statusCode, res); } - } - success(res, body); }); } catch (ex) { @@ -211,18 +206,13 @@ common.loggly = function () { request(requestOptions, function (err, res, body) { if (err) return onError(err); var statusCode = res.statusCode.toString(); - if(statusCode === '403') isValidToken = false; - if (statusCode === '500' || statusCode === '503' || statusCode === '504') retryOnServerError(res); if (statusCode === '200') { arrRetryLogs.splice(0, arrSize); totalRetries = 0; + success(res, body); + } else { + retryOnServerError(statusCode, res); } - if (Object.keys(failCodes).indexOf(statusCode) !== -1) { - if (statusCode !== '503' && statusCode !== '500' && statusCode !== '504') { - return onError((new Error('Loggly Error (' + statusCode + '): ' + failCodes[statusCode]))); - } - } - success(res, body); }); } catch (ex) { @@ -257,15 +247,19 @@ common.loggly = function () { // //function to retry sending logs maximum 5 times if server error occurs // - function retryOnServerError(err) { - if (!arrRetryLogs.length) return; - else { + function retryOnServerError(statusCode, err) { + if(statusCode === '403') isValidToken = false; + if (statusCode === '500' || statusCode === '503' || statusCode === '504') { + if (!arrRetryLogs.length) return onError(err); + if (notFailedOnServerError && totalRetries >= maxRetryAllowed) { - console.log('Failed after ' + totalRetries + ' retries on error - ' + statusCode, '"'+err.statusMessage+'"'); + console.log('Failed after ' + totalRetries + ' retries on error - ' + statusCode, '"' + err.statusMessage + '"'); notFailedOnServerError = false; arrRetryLogs.length = 0; totalRetries = 0; + return onError(err) } + while (isValidToken && totalRetries < maxRetryAllowed) { console.log('Failed on error code ' + statusCode); console.log('Retried ' + (totalRetries + 1) + ' time'); @@ -273,6 +267,12 @@ common.loggly = function () { isBulk ? sendBulkLogs() : sendLogs(); } } + + if (Object.keys(failCodes).indexOf(statusCode) !== -1) { + if (statusCode !== '503' && statusCode !== '500' && statusCode !== '504') { + return onError((new Error('Loggly Error (' + statusCode + '): ' + failCodes[statusCode]))); + } + } } //