Skip to content

Commit 145823d

Browse files
authored
Print failed requests (#17)
1 parent 1465553 commit 145823d

File tree

4 files changed

+21
-3
lines changed

4 files changed

+21
-3
lines changed

package-lock.json

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
],
2525
"dependencies": {
2626
"chai": "^4.2.0",
27+
"chalk": "^2.4.2",
2728
"dedent": "^0.7.0",
2829
"get-port": "^4.0.0",
2930
"meow": "^5.0.0",

src/host-bindings.ts

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
// tslint:disable:no-console
2+
import chalk from "chalk"
23
import { ConsoleMessage, Page } from "puppeteer-core"
34

45
export interface PuppetContextConfig<PluginsConfig extends {} = any> {
@@ -51,6 +52,20 @@ export function capturePuppetConsole (page: Page) {
5152
})
5253
}
5354

55+
export function captureFailedRequests(page: Page) {
56+
page.on("requestfailed", request => {
57+
const failure = request.failure()
58+
console.error(chalk.redBright(`Request failed: ${request.method()} ${request.url()}`))
59+
console.error(chalk.gray(` ${failure ? failure.errorText : "Unknown error"}`))
60+
})
61+
page.on("requestfinished", request => {
62+
const response = request.response()
63+
if (response && response.status() >= 400) {
64+
console.error(chalk.redBright(`HTTP ${response.status()} ${request.method()} ${request.url()}`))
65+
}
66+
})
67+
}
68+
5469
export function createPuppetContextConfig (argv: string[], plugins: any = {}) {
5570
return {
5671
argv,

src/puppeteer.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import { URL } from "url"
66
import { getSourceBundles } from "./bundle"
77
import { getChromeLocation } from "./chrome-location"
88
import {
9+
captureFailedRequests,
910
capturePuppetConsole,
1011
createPuppetContextConfig,
1112
injectPuppetContext,
@@ -124,6 +125,7 @@ export async function spawnPuppet(bundle: ParcelBundle, serverURL: string, optio
124125
await page.goto(serverURL + "index.html")
125126

126127
capturePuppetConsole(page)
128+
captureFailedRequests(page)
127129

128130
return {
129131
async close () {

0 commit comments

Comments
 (0)