www

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | Submodules | README | LICENSE

commit 5ddbe433b9dfaddb25545f25dd75f3169d1f6db5
parent 79d7c15d4f6f752bdc75dc3a63603c19c76f71a7
Author: Dan Stillman <dstillman@zotero.org>
Date:   Tue, 12 Jun 2018 15:13:00 -0400

Fix Backoff and Retry-After header parsing

Diffstat:
Mchrome/content/zotero/xpcom/sync/syncAPIClient.js | 4++--
Mtest/tests/syncAPIClientTest.js | 4++--
2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/chrome/content/zotero/xpcom/sync/syncAPIClient.js b/chrome/content/zotero/xpcom/sync/syncAPIClient.js @@ -820,7 +820,7 @@ Zotero.Sync.APIClient.prototype = { _checkBackoff: function (xmlhttp) { var backoff = xmlhttp.getResponseHeader("Backoff"); - if (backoff && Number.isInteger(backoff)) { + if (backoff && parseInt(backoff) == backoff) { // TODO: Update status? this.caller.pause(backoff * 1000); } @@ -831,7 +831,7 @@ Zotero.Sync.APIClient.prototype = { var retryAfter = xmlhttp.getResponseHeader("Retry-After"); var delay; if (!retryAfter) return false; - if (!Number.isInteger(retryAfter)) { + if (parseInt(retryAfter) != retryAfter) { Zotero.logError(`Invalid Retry-After delay ${retryAfter}`); return false; } diff --git a/test/tests/syncAPIClientTest.js b/test/tests/syncAPIClientTest.js @@ -174,7 +174,7 @@ describe("Zotero.Sync.APIClient", function () { req.respond( 503, { - "Retry-After": 5 + "Retry-After": "5" }, "" ); @@ -183,7 +183,7 @@ describe("Zotero.Sync.APIClient", function () { req.respond( 503, { - "Retry-After": 10 + "Retry-After": "10" }, "" );