playwright-fluent
Version:
Fluent API around playwright
38 lines (37 loc) • 1.25 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.recordFailedRequests = void 0;
const failedStatus = [500, 503, 400, 401, 403, 307];
async function recordFailedRequests(page, callback) {
if (!page) {
throw new Error(`Cannot record failed requests because no browser has been launched`);
}
page.on('requestfinished', async (request) => {
let response = null;
try {
response = await request.response();
}
catch (error) {
// eslint-disable-next-line no-console
console.warn('Cannot evaluate the response from request due to the following error : ', error);
return;
}
if (response === null) {
const typedRequest = request;
callback(typedRequest);
return;
}
const status = response.status();
if (failedStatus.includes(status)) {
const typedRequest = request;
callback(typedRequest);
return;
}
});
page.on('requestfailed', (request) => {
const typedRequest = request;
callback(typedRequest);
return;
});
}
exports.recordFailedRequests = recordFailedRequests;
;