| 1234567891011121314151617181920212223242526272829303132333435363738 |
- 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;
- };
|