whistle
Version:
HTTP, HTTP2, HTTPS, Websocket debugging proxy
30 lines (28 loc) • 812 B
JavaScript
var values = require('../../../../lib/rules/util').values;
var util = require('../util');
module.exports = function(req, res) {
var exportValues = req.query.values;
try {
exportValues = exportValues && JSON.parse(exportValues);
} catch(e) {
exportValues = null;
}
var result = {};
var list = [];
values.list().forEach(function(file) {
if (!exportValues || exportValues[file.name]) {
result[file.name] = file.data;
list.push(file.name);
}
});
result[''] = list;
var filename = req.query.filename;
if (filename && typeof filename === 'string') {
if (!/\.(txt|json)/i.test(filename)) {
filename += '.txt';
}
} else {
filename = 'values_' + util.formatDate() + '.txt';
}
res.attachment(filename).send(JSON.stringify(result, null, ' '));
};