1
0
mirror of https://github.com/aureliendavid/rsspreview.git synced 2025-08-23 19:58:38 +00:00
rsspreview/background.js
2018-10-29 21:40:19 +01:00

44 lines
1.1 KiB
JavaScript

function detectFeed(event) {
// force application/rss+xml to text/xml so the browser displays it instead of downloading
var isfeed = false;
for (var header of event.responseHeaders) {
if (header.name.toLowerCase() == "content-type") {
header.value = header.value.replace(/application\/(rss|atom)\+xml/,'text/xml');
isfeed = true;
break;
}
}
if (isfeed) {
for (var i = 0; i < event.responseHeaders.length; i++) {
if (event.responseHeaders[i].name.toLowerCase() == "cache-control") {
event.responseHeaders.splice(i, 1);
break;
}
}
// don't cache requests we modified
// otherwise on reload the content-type won't be modified again
event.responseHeaders.push({ name : "Cache-Control", value : "no-cache, no-store, must-revalidate" });
}
return {
responseHeaders: event.responseHeaders
};
}
const browser = window.browser || window.chrome;
browser.webRequest.onHeadersReceived.addListener(
detectFeed,
{ urls: ["<all_urls>"], types: ["main_frame"] },
["blocking", "responseHeaders"]
)