@github1/ajax-service
Advanced tools
Comparing version 0.3.41 to 0.3.42
@@ -129,3 +129,10 @@ 'use strict'; | ||
retry: function retry(e, attemptNumber) { | ||
invokeInterceptors('onRetry', opts.interceptors, [e, attemptNumber, numOfAttempts, fetchOpts]); | ||
var retryCancelled = false; | ||
var cancelRetry = function cancelRetry() { | ||
retryCancelled = true; | ||
}; | ||
invokeInterceptors('onRetry', opts.interceptors, [e, attemptNumber, numOfAttempts, fetchOpts, cancelRetry]); | ||
if (retryCancelled) { | ||
return false; | ||
} | ||
e.retryAttemptNumber = attemptNumber; | ||
@@ -132,0 +139,0 @@ return e.status === 503 || /network request failed/i.test(e.message) || /^request to.*failed, reason:/i.test(e.message) || /^failed to fetch$/i.test(e.message); |
@@ -204,2 +204,22 @@ 'use strict'; | ||
}); | ||
it('can cancel retry attempts', function () { | ||
var requestId = 'testRetryCancelAttempt' + Math.floor(Math.random() * 1000); | ||
expect.assertions(1); | ||
return (0, _index2.default)([{ | ||
onRetry: function onRetry(e, attemptNumber, numOfAttempts, fetchOpts, cancelRetry) { | ||
if (attemptNumber === 2) { | ||
cancelRetry(); | ||
} | ||
} | ||
}]).post({ | ||
url: '/retry', | ||
data: { | ||
id: requestId, | ||
respondIn: 4 | ||
}, | ||
numOfAttempts: 3 | ||
}).catch(function (err) { | ||
expect(err).toBeDefined(); | ||
}); | ||
}); | ||
it('accepts interceptors from the request opts', function () { | ||
@@ -206,0 +226,0 @@ var counter = 0; |
@@ -109,3 +109,10 @@ function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } | ||
retry: function retry(e, attemptNumber) { | ||
invokeInterceptors('onRetry', opts.interceptors, [e, attemptNumber, numOfAttempts, fetchOpts]); | ||
var retryCancelled = false; | ||
var cancelRetry = function cancelRetry() { | ||
retryCancelled = true; | ||
}; | ||
invokeInterceptors('onRetry', opts.interceptors, [e, attemptNumber, numOfAttempts, fetchOpts, cancelRetry]); | ||
if (retryCancelled) { | ||
return false; | ||
} | ||
e.retryAttemptNumber = attemptNumber; | ||
@@ -112,0 +119,0 @@ return e.status === 503 || /network request failed/i.test(e.message) || /^request to.*failed, reason:/i.test(e.message) || /^failed to fetch$/i.test(e.message); |
@@ -198,2 +198,22 @@ import ajaxService from './index'; | ||
}); | ||
it('can cancel retry attempts', function () { | ||
var requestId = 'testRetryCancelAttempt' + Math.floor(Math.random() * 1000); | ||
expect.assertions(1); | ||
return ajaxService([{ | ||
onRetry: function onRetry(e, attemptNumber, numOfAttempts, fetchOpts, cancelRetry) { | ||
if (attemptNumber === 2) { | ||
cancelRetry(); | ||
} | ||
} | ||
}]).post({ | ||
url: '/retry', | ||
data: { | ||
id: requestId, | ||
respondIn: 4 | ||
}, | ||
numOfAttempts: 3 | ||
}).catch(function (err) { | ||
expect(err).toBeDefined(); | ||
}); | ||
}); | ||
it('accepts interceptors from the request opts', function () { | ||
@@ -200,0 +220,0 @@ var counter = 0; |
{ | ||
"name": "@github1/ajax-service", | ||
"private": false, | ||
"version": "0.3.41", | ||
"version": "0.3.42", | ||
"description": "Library for invoking HTTP requests with interceptors for JSON and AMF media types", | ||
@@ -18,3 +18,3 @@ "main": "es5/index.js", | ||
"devDependencies": { | ||
"@github1/build-tools": "^0.3.41" | ||
"@github1/build-tools": "^0.3.42" | ||
}, | ||
@@ -29,3 +29,3 @@ "dependencies": { | ||
}, | ||
"gitHead": "5b9e5c308a81158a83c5faced89d1556a3aad939", | ||
"gitHead": "c34ebd0e7f73994d60d1c52292292cff1e1ab79f", | ||
"module": "index.js", | ||
@@ -32,0 +32,0 @@ "repository": { |
104806
2939