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
38 lines
1.1 KiB
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; |
|
}; |