This is an automated email from the ASF dual-hosted git repository.

sebb pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/whimsy.git


The following commit(s) were added to refs/heads/master by this push:
     new c5563d88 Handle CSP error messages
c5563d88 is described below

commit c5563d88e3faa410baea8d3b7be7e8dd5cfbeadc
Author: Sebb <[email protected]>
AuthorDate: Sat Feb 22 14:13:52 2025 +0000

    Handle CSP error messages
---
 tools/scan-page.js           |  3 +++
 www/members/page-scanner.cgi | 16 ++++++++++------
 2 files changed, 13 insertions(+), 6 deletions(-)

diff --git a/tools/scan-page.js b/tools/scan-page.js
index 4b10bc1c..7eaf9c72 100755
--- a/tools/scan-page.js
+++ b/tools/scan-page.js
@@ -37,6 +37,9 @@ function getHost(url) {
   const browser = await puppeteer.launch({headless: "old", executablePath: 
'/opt/google/chrome/chrome'});
   const page = await browser.newPage();
   await page.setRequestInterception(true);
+  // capture CSP messages
+  page.on('console', message =>
+      console.log(`${message.type().toUpperCase()} ${message.text()}`))
   page.on('request', (interceptedRequest) => {
     // already handled?
     if (interceptedRequest.isInterceptResolutionHandled()) return;
diff --git a/www/members/page-scanner.cgi b/www/members/page-scanner.cgi
index 5aba8148..729e0608 100755
--- a/www/members/page-scanner.cgi
+++ b/www/members/page-scanner.cgi
@@ -51,13 +51,17 @@ if url
       puts "Top-level references:"
     end
     extras = Hash.new {|h,k| h[k] = Hash.new}
-    out.split("\n").each do |url|
-      p1, p2 = url.split(DIVIDER)
-      if p2
-        extras[p2][p1]=1
-      else
-        print ASFDOMAIN.asfurl?(url) ? 'OK ' : 'NO '
+    out.split(%r{\n+}).each do |url|
+      if url.start_with? 'ERROR' # console error message (e.g. CSP)
         puts url
+      else
+        p1, p2 = url.split(DIVIDER)
+        if p2
+          extras[p2][p1]=1
+        else
+          print ASFDOMAIN.asfurl?(url) ? 'OK ' : 'NO '
+          puts url
+        end
       end
     end
     if extras.size > 0

Reply via email to