Subtheme of barrio
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

38 lines
1.1 KiB

2 years ago
var Immutable = require("immutable");
module.exports.init = function (ui, bs) {
var optPath = ["remote-debug", "no-cache"];
ui.setOptionIn(optPath, Immutable.Map({
name: "no-cache",
title: "No Cache",
active: false,
tagline: "Disable all Browser Caching"
}));
var methods = {
toggle: function (value) {
if (value !== true) {
value = false;
}
if (value) {
ui.setOptionIn(optPath.concat("active"), true);
bs.addMiddleware("*", function (req, res, next) {
res.setHeader("Cache-Control", "no-cache, no-store, must-revalidate");
res.setHeader("Pragma", "no-cache");
res.setHeader("Expires", "0");
next();
}, {id: "ui-no-cache", override: true});
} else {
ui.setOptionIn(optPath.concat("active"), false);
bs.removeMiddleware("ui-no-cache");
}
},
event: function (event) {
methods[event.event](event.data);
}
};
return methods;
};