compression.js 940 B

123456789101112131415161718192021222324252627282930313233
  1. var Immutable = require("immutable");
  2. module.exports.init = function (ui, bs) {
  3. var optPath = ["remote-debug", "compression"];
  4. ui.setOptionIn(optPath, Immutable.Map({
  5. name: "compression",
  6. title: "Compression",
  7. active: false,
  8. tagline: "Add Gzip Compression to all responses"
  9. }));
  10. var methods = {
  11. toggle: function (value) {
  12. if (value !== true) {
  13. value = false;
  14. }
  15. if (value) {
  16. ui.setOptionIn(optPath.concat("active"), true);
  17. bs.addMiddleware("", require("compression")(), {id: "ui-compression", override: true});
  18. } else {
  19. ui.setOptionIn(optPath.concat("active"), false);
  20. bs.removeMiddleware("ui-compression");
  21. }
  22. },
  23. event: function (event) {
  24. methods[event.event](event.data);
  25. }
  26. };
  27. return methods;
  28. };