MCPcopy Index your code
hub / github.com/devploit/debugHunter / shouldScanUrl

Function shouldScanUrl

background.js:515–547  ·  view source on GitHub ↗
(url)

Source from the content-addressed store, hash-verified

513// ============================================================================
514
515async function shouldScanUrl(url) {
516 if (url.startsWith('chrome://') || url.startsWith('chrome-extension://') ||
517 url.startsWith('about:') || url.startsWith('file://')) {
518 return false;
519 }
520
521 const settings = await getSettings();
522 const { hostname } = new URL(url);
523
524 // Check whitelist
525 for (const pattern of settings.whitelist) {
526 const parts = pattern.split('.').reverse();
527 const hostParts = hostname.split('.').reverse();
528 let match = true;
529 for (let i = 0; i < parts.length && match; i++) {
530 if (parts[i] !== '*' && parts[i] !== hostParts[i]) match = false;
531 }
532 if (match) return false;
533 }
534
535 // Check interval
536 const result = await chrome.storage.local.get(['checkedUrls']);
537 const checked = result.checkedUrls || {};
538 const lastChecked = checked[url];
539
540 if (lastChecked && (Date.now() - lastChecked < settings.checkInterval)) {
541 return false;
542 }
543
544 checked[url] = Date.now();
545 await chrome.storage.local.set({ checkedUrls: checked });
546 return true;
547}
548
549function isSoft404(text) {
550 const lower = text.toLowerCase();

Callers 1

scanUrlFunction · 0.85

Calls 1

getSettingsFunction · 0.85

Tested by

no test coverage detected