function alterHeader(headers, alteration){ let header = headers.filter((header) => header.name.toLowerCase() === alteration.name.toLowerCase())[0]; if (header){ header.value += ", " + alteration.value; } else { headers.push(alteration); } } browser.webRequest.onHeadersReceived.addListener( (details) => { alterHeader( details.responseHeaders, { name: "Content-Security-Policy", value: `invalid2` } ); alterHeader( details.responseHeaders, { name: "X-Powered-By", value: `ext2` } ); alterHeader( details.responseHeaders, { name: "ext2", value: `ext2` } ); console.log( "ext2", details.responseHeaders.map((header) => {return header.name + ": " + header.value;}) ); return { responseHeaders: details.responseHeaders }; }, { urls: [""] }, ["blocking", "responseHeaders"] );