fix: check response for rate limiting (#58) (#98)

Co-authored-by: Lukas Szimtenings <lszimtenings@ukaachen.de>
This commit is contained in:
Lukas
2020-09-20 14:33:47 +02:00
committed by GitHub
parent 1e9d8fec42
commit b7d9462e79
2 changed files with 6 additions and 2 deletions
+4 -1
View File
@@ -44,8 +44,9 @@ export async function lookup(browser: puppeteer.Browser, store: Store) {
const graphicsCard = `${link.brand} ${link.model}`; const graphicsCard = `${link.brand} ${link.model}`;
let response: puppeteer.Response | null;
try { try {
await page.goto(link.url, {waitUntil: 'networkidle0'}); response = await page.goto(link.url, {waitUntil: 'networkidle0'});
} catch { } catch {
Logger.error(`✖ [${store.name}] ${graphicsCard} skipping; timed out`); Logger.error(`✖ [${store.name}] ${graphicsCard} skipping; timed out`);
await page.close(); await page.close();
@@ -61,6 +62,8 @@ export async function lookup(browser: puppeteer.Browser, store: Store) {
Logger.info(`✖ [${store.name}] still out of stock: ${graphicsCard}`); Logger.info(`✖ [${store.name}] still out of stock: ${graphicsCard}`);
} else if (link.captchaLabels && includesLabels(textContent, link.captchaLabels)) { } else if (link.captchaLabels && includesLabels(textContent, link.captchaLabels)) {
Logger.warn(`✖ [${store.name}] CAPTCHA from: ${graphicsCard}`); Logger.warn(`✖ [${store.name}] CAPTCHA from: ${graphicsCard}`);
} else if (response && response.status() === 429) {
Logger.warn(`✖ [${store.name}] Rate limit exceeded: ${graphicsCard}`);
} else { } else {
Logger.info(`🚀🚀🚀 [${store.name}] ${graphicsCard} IN STOCK 🚀🚀🚀`); Logger.info(`🚀🚀🚀 [${store.name}] ${graphicsCard} IN STOCK 🚀🚀🚀`);
Logger.info(link.url); Logger.info(link.url);
+2 -1
View File
@@ -11,6 +11,7 @@
"esModuleInterop": true, "esModuleInterop": true,
"resolveJsonModule": true, "resolveJsonModule": true,
"skipLibCheck": true, "skipLibCheck": true,
"forceConsistentCasingInFileNames": true "forceConsistentCasingInFileNames": true,
"sourceMap": true
} }
} }