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

Function checkHeaders

background.js:663–704  ·  view source on GitHub ↗
(url, baseline = null)

Source from the content-addressed store, hash-verified

661// ============================================================================
662
663async function checkHeaders(url, baseline = null) {
664 const settings = await getSettings();
665
666 try {
667 // Use provided baseline or fetch new one
668 if (!baseline) {
669 baseline = await getUrlBaseline(url);
670 }
671 if (!baseline) return;
672
673 for (const header of customHeaders) {
674 try {
675 const headers = new Headers();
676 headers.set(header.key, header.value);
677
678 const modifiedResponse = await rateLimitedFetch(url, { headers });
679 const modifiedText = await modifiedResponse.text();
680
681 const analysis = await analyzeResponseDifference(
682 baseline.mockResponse, modifiedResponse,
683 baseline.text, modifiedText,
684 settings
685 );
686
687 if (analysis.isDifferent) {
688 await addFinding('headers', {
689 url,
690 header: `${header.key}: ${header.value}`,
691 severity: analysis.severity,
692 reasons: analysis.reasons,
693 originalResponse: truncateForStorage(baseline.text),
694 modifiedResponse: truncateForStorage(modifiedText),
695 });
696 }
697 } catch (e) {
698 // Skip this header on error
699 }
700 }
701 } catch (error) {
702 console.error(`[debugHunter] Headers check failed: ${error.message}`);
703 }
704}
705
706// ============================================================================
707// PATH CHECKING (Optimized with HEAD requests + domain caching)

Callers 1

scanUrlFunction · 0.85

Calls 6

getSettingsFunction · 0.85
getUrlBaselineFunction · 0.85
rateLimitedFetchFunction · 0.85
addFindingFunction · 0.85
truncateForStorageFunction · 0.85

Tested by

no test coverage detected