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:
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"
},
""
);