summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--api.js18
1 files changed, 10 insertions, 8 deletions
diff --git a/api.js b/api.js
index 2bd63a3..f45e29e 100644
--- a/api.js
+++ b/api.js
@@ -43,11 +43,12 @@ module.exports.request = async (url, options, logger) => {
logger.warn("rate limited, sleeping");
await sleep(100); // no return, no break => retry
continue;
- } else if (err.statusCode != 404) {
+ } else if (err.statusCode >= 500) {
logger.error("API error, retrying", err);
await sleep(100);
continue;
- }
+ } else if (err.statusCode != 404)
+ logger.error("Unexpected API response", err);
logger.warn("not found", {
uri: err.options.uri,
qs: err.options.qs,
@@ -55,12 +56,13 @@ module.exports.request = async (url, options, logger) => {
});
return [undefined, undefined];
} finally {
- logger.info("API response", {
- status: response.statusCode,
- connection_start: response.timings.connect,
- connection_end: response.timings.end,
- ratelimit_remaining: parseInt(response.headers["x-ratelimit-remaining"])
- });
+ if (response != undefined) // else non-requests error
+ logger.info("API response", {
+ status: response.statusCode,
+ connection_start: response.timings.connect,
+ connection_end: response.timings.end,
+ ratelimit_remaining: parseInt(response.headers["x-ratelimit-remaining"])
+ });
}
}
}