From 452811b6f11bbc99ede6a3699a302b9030cac197 Mon Sep 17 00:00:00 2001 From: Dave Date: Wed, 30 Jun 2021 16:08:19 +1000 Subject: [PATCH 1/2] #284 Added options for axiosRetryConfig, disable axiosRetry if retryCount is 0 --- index.js | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/index.js b/index.js index b660044e..1b84b007 100644 --- a/index.js +++ b/index.js @@ -27,6 +27,8 @@ class Analytics { * @property {Boolean} [enable] (default: true) * @property {Object} [axiosConfig] (optional) * @property {Object} [axiosInstance] (default: axios.create(options.axiosConfig)) + * @property {Object} [axiosRetryConfig] (optional) + * @property {Number} [retryCount] (default: 3) */ constructor (writeKey, options) { @@ -54,11 +56,15 @@ class Analytics { enumerable: true, value: typeof options.enable === 'boolean' ? options.enable : true }) - axiosRetry(this.axiosInstance, { - retries: options.retryCount || 3, - retryCondition: this._isErrorRetryable, - retryDelay: axiosRetry.exponentialDelay - }) + if (options.retryCount !== 0) { + axiosRetry(this.axiosInstance, { + retries: options.retryCount || 3, + retryDelay: axiosRetry.exponentialDelay, + ...(options.axiosRetryConfig || {}), + // retryCondition is below optional config to ensure it does not get overridden + retryCondition: this._isErrorRetryable + }) + } } _validate (message, type) { From 6584091596e26a919167871c9f1b05d2151766fb Mon Sep 17 00:00:00 2001 From: Dahaden Date: Thu, 15 Jul 2021 09:49:15 +1000 Subject: [PATCH 2/2] Remove unnessesary `|| {}` Co-authored-by: Patrick Bassut --- index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.js b/index.js index 1b84b007..a55c048c 100644 --- a/index.js +++ b/index.js @@ -60,7 +60,7 @@ class Analytics { axiosRetry(this.axiosInstance, { retries: options.retryCount || 3, retryDelay: axiosRetry.exponentialDelay, - ...(options.axiosRetryConfig || {}), + ...options.axiosRetryConfig, // retryCondition is below optional config to ensure it does not get overridden retryCondition: this._isErrorRetryable })