@@ -21,6 +21,13 @@ async function checkLinks() {
2121 } ) ;
2222 const page = await browser . newPage ( ) ;
2323
24+ // skip image requests
25+ await page . setRequestInterception ( true ) ;
26+ page . on ( "request" , ( request ) => {
27+ if ( request . resourceType ( ) === "image" ) request . abort ( ) ;
28+ else request . continue ( ) ;
29+ } ) ;
30+
2431 const sitemapUrl = "https://developers.cloudflare.com/sitemap.xml" ;
2532 await page . goto ( sitemapUrl , { timeout : navigationTimeout } ) ;
2633
@@ -51,23 +58,22 @@ async function checkLinks() {
5158 }
5259
5360 if (
54- pageLink . includes ( "developers.cloudflare.com/api/operations /" ) ||
55- pageLink . startsWith ( "/api/operations /" )
61+ pageLink . includes ( "developers.cloudflare.com/api/resources /" ) ||
62+ pageLink . startsWith ( "/api/resources /" )
5663 ) {
5764 console . log ( `Evaluating link: ${ pageLink } ` ) ;
58- await page . goto ( pageLink , {
65+ const response = await page . goto ( pageLink , {
5966 waitUntil : "networkidle0" ,
6067 timeout : navigationTimeout ,
6168 } ) ;
6269 visitedLinks . push ( pageLink ) ;
6370
64- const statusCode = await page . evaluate ( ( ) => {
65- return {
66- url : window . location . href ,
67- } ;
68- } ) ;
69- if ( statusCode . url === "https://developers.cloudflare.com/api/" ) {
70- brokenLinks . push ( pageLink ) ;
71+ if ( response ) {
72+ if ( response . status ( ) === 404 ) {
73+ brokenLinks . push ( pageLink ) ;
74+ }
75+ } else {
76+ console . log ( "WARNING: Didn't receive a response... skipping." ) ;
7177 }
7278 }
7379 }
0 commit comments