@lskjs/server
Version:
LSK server.
108 lines (81 loc) • 10.3 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _omit = _interopRequireDefault(require("lodash/omit"));
var _get = _interopRequireDefault(require("lodash/get"));
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
var _default = function _default(ctx) {
return function pack() {
var _this = this;
var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
var info = arguments.length > 1 ? arguments[1] : undefined;
var res = this;
var config = (0, _get["default"])(ctx, 'config.response', __DEV__ ? {
log: true,
debug: true
} : {});
var json = {
code: info.code,
message: info.message
};
var dataData = (0, _omit["default"])(data, ['__pack', '__raw', '__log', '__status']);
if ((0, _get["default"])(data, '__pack')) {
json = _objectSpread(_objectSpread({}, json), dataData);
} else {
json.data = dataData;
}
var status = info.status || (0, _get["default"])(data, '__status');
if (status) {
res.status(status);
}
var isLog = config.log || (0, _get["default"])(data, '__log');
var log = function log(str, type) {
if (!isLog) return;
var dest = isLog;
if (isLog === true) dest = str && str.length > 100 ? 'file' : 'console';
if (dest === 'file') {
var filename = "/tmp/res_".concat(new Date().toISOString().replace(/[^a-zA-Z0-9]+/gi, '_'), ".").concat(type);
ctx.log.trace(">>>>> #".concat(_this.req.reqId, " ").concat(filename, " [").concat(str.length, " bytes] ").concat(__DEV__ ? '[IGNORE]' : ''));
if (__DEV__) {
try {
require('fs').writeFileSync(filename, str);
} catch (e) {}
}
return;
}
ctx.log.trace('>>>>>');
console.log(str); // eslint-disable-line no-console
ctx.log.trace('<<<<<');
};
if (!data) {
log(null, null);
return res.json(null);
}
if ((0, _get["default"])(data, '__raw')) {
log((0, _get["default"])(data, '__raw'), 'string');
return res.send((0, _get["default"])(data, '__raw'));
}
if (!(0, _get["default"])(data, '__pack')) {
json.data = data;
}
if (config.debug && info.err) {
json.err = info.err;
}
if (config.debug && info.debug) {
json.debug = info.debug;
}
if (config.debug && info.stack) {
json.stack = info.stack;
}
log(JSON.stringify(json, null, 2), 'json');
return res.json(json);
};
};
exports["default"] = _default;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9yZXNwb25zZXMvXy9oal9wYWNrLmpzIl0sIm5hbWVzIjpbImN0eCIsInBhY2siLCJkYXRhIiwiaW5mbyIsInJlcyIsImNvbmZpZyIsIl9fREVWX18iLCJsb2ciLCJkZWJ1ZyIsImpzb24iLCJjb2RlIiwibWVzc2FnZSIsImRhdGFEYXRhIiwic3RhdHVzIiwiaXNMb2ciLCJzdHIiLCJ0eXBlIiwiZGVzdCIsImxlbmd0aCIsImZpbGVuYW1lIiwiRGF0ZSIsInRvSVNPU3RyaW5nIiwicmVwbGFjZSIsInRyYWNlIiwicmVxIiwicmVxSWQiLCJyZXF1aXJlIiwid3JpdGVGaWxlU3luYyIsImUiLCJjb25zb2xlIiwic2VuZCIsImVyciIsInN0YWNrIiwiSlNPTiIsInN0cmluZ2lmeSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7Ozs7O2VBRWUsa0JBQUFBLEdBQUc7QUFBQSxTQUNoQixTQUFTQyxJQUFULEdBQStCO0FBQUE7O0FBQUEsUUFBakJDLElBQWlCLHVFQUFWLEVBQVU7QUFBQSxRQUFOQyxJQUFNO0FBQzdCLFFBQU1DLEdBQUcsR0FBRyxJQUFaO0FBQ0EsUUFBTUMsTUFBTSxHQUFHLHFCQUFJTCxHQUFKLEVBQVMsaUJBQVQsRUFBNEJNLE9BQU8sR0FBRztBQUFFQyxNQUFBQSxHQUFHLEVBQUUsSUFBUDtBQUFhQyxNQUFBQSxLQUFLLEVBQUU7QUFBcEIsS0FBSCxHQUFnQyxFQUFuRSxDQUFmO0FBQ0EsUUFBSUMsSUFBSSxHQUFHO0FBQ1RDLE1BQUFBLElBQUksRUFBRVAsSUFBSSxDQUFDTyxJQURGO0FBRVRDLE1BQUFBLE9BQU8sRUFBRVIsSUFBSSxDQUFDUTtBQUZMLEtBQVg7QUFLQSxRQUFNQyxRQUFRLEdBQUcsc0JBQUtWLElBQUwsRUFBVyxDQUFDLFFBQUQsRUFBVyxPQUFYLEVBQW9CLE9BQXBCLEVBQTZCLFVBQTdCLENBQVgsQ0FBakI7O0FBQ0EsUUFBSSxxQkFBSUEsSUFBSixFQUFVLFFBQVYsQ0FBSixF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QUFDRyxLQUFQLElBQWdCTCxJQUFJLENBQUM2QixLQUF6QixFQUFnQztBQUM5QnZCLE1BQUFBLElBQUksQ0FBQ3VCLEtBQUwsR0FBYTdCLElBQUksQ0FBQzZCLEtBQWxCO0FBQ0Q7O0FBQ0R6QixJQUFBQSxHQUFHLENBQUMwQixJQUFJLENBQUNDLFNBQUwsQ0FBZXpCLElBQWYsRUFBcUIsSUFBckIsRUFBMkIsQ0FBM0IsQ0FBRCxFQUFnQyxNQUFoQyxDQUFIO0FBQ0EsV0FBT0wsR0FBRyxDQUFDSyxJQUFKLENBQVNBLElBQVQsQ0FBUDtBQUNELEdBL0RlO0FBQUEsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBvbWl0IGZyb20gJ2xvZGFzaC9vbWl0JztcbmltcG9ydCBnZXQgZnJvbSAnbG9kYXNoL2dldCc7XG5cbmV4cG9ydCBkZWZhdWx0IGN0eCA9PlxuICBmdW5jdGlvbiBwYWNrKGRhdGEgPSB7fSwgaW5mbykge1xuICAgIGNvbnN0IHJlcyA9IHRoaXM7XG4gICAgY29uc3QgY29uZmlnID0gZ2V0KGN0eCwgJ2NvbmZpZy5yZXNwb25zZScsIF9fREVWX18gPyB7IGxvZzogdHJ1ZSwgZGVidWc6IHRydWUgfSA6IHt9KTtcbiAgICBsZXQganNvbiA9IHtcbiAgICAgIGNvZGU6IGluZm8uY29kZSxcbiAgICAgIG1lc3NhZ2U6IGluZm8ubWVzc2FnZSxcbiAgICB9O1xuXG4gICAgY29uc3QgZGF0YURhdGEgPSBvbWl0KGRhdGEsIFsnX19wYWNrJywgJ19fcmF3JywgJ19fbG9nJywgJ19fc3RhdHVzJ10pO1xuICAgIGlmIChnZXQoZGF0YSwgJ19fcGFjaycpKSB7XG4gICAgICBqc29uID0geyAuLi5qc29uLCAuLi5kYXRhRGF0YSB9O1xuICAgIH0gZWxzZSB7XG4gICAgICBqc29uLmRhdGEgPSBkYXRhRGF0YTtcbiAgICB9XG5cbiAgICBjb25zdCBzdGF0dXMgPSBpbmZvLnN0YXR1cyB8fCBnZXQoZGF0YSwgJ19fc3RhdHVzJyk7XG4gICAgaWYgKHN0YXR1cykge1xuICAgICAgcmVzLnN0YXR1cyhzdGF0dXMpO1xuICAgIH1cbiAgICBjb25zdCBpc0xvZyA9IGNvbmZpZy5sb2cgfHwgZ2V0KGRhdGEsICdfX2xvZycpO1xuICAgIGNvbnN0IGxvZyA9IChzdHIsIHR5cGUpID0+IHtcbiAgICAgIGlmICghaXNMb2cpIHJldHVybjtcbiAgICAgIGxldCBkZXN0ID0gaXNMb2c7XG4gICAgICBpZiAoaXNMb2cgPT09IHRydWUpIGRlc3QgPSBzdHIgJiYgc3RyLmxlbmd0aCA+IDEwMCA/ICdmaWxlJyA6ICdjb25zb2xlJztcblxuICAgICAgaWYgKGRlc3QgPT09ICdmaWxlJykge1xuICAgICAgICBjb25zdCBmaWxlbmFtZSA9IGAvdG1wL3Jlc18ke25ldyBEYXRlKCkudG9JU09TdHJpbmcoKS5yZXBsYWNlKC9bXmEtekEtWjAtOV0rL2dpLCAnXycpfS4ke3R5cGV9YDtcbiAgICAgICAgY3R4LmxvZy50cmFjZShgPj4+Pj4gIyR7dGhpcy5yZXEucmVxSWR9ICR7ZmlsZW5hbWV9IFske3N0ci5sZW5ndGh9IGJ5dGVzXSAke19fREVWX18gPyAnW0lHTk9SRV0nIDogJyd9YCk7XG4gICAgICAgIGlmIChfX0RFVl9fKSB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHJlcXVpcmUoJ2ZzJykud3JpdGVGaWxlU3luYyhmaWxlbmFtZSwgc3RyKTtcbiAgICAgICAgICB9IGNhdGNoIChlKSB7fVxuICAgICAgICB9XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGN0eC5sb2cudHJhY2UoJz4+Pj4+Jyk7XG4gICAgICBjb25zb2xlLmxvZyhzdHIpOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLWNvbnNvbGVcbiAgICAgIGN0eC5sb2cudHJhY2UoJzw8PDw8Jyk7XG4gICAgfTtcblxuICAgIGlmICghZGF0YSkge1xuICAgICAgbG9nKG51bGwsIG51bGwpO1xuICAgICAgcmV0dXJuIHJlcy5qc29uKG51bGwpO1xuICAgIH1cbiAgICBpZiAoZ2V0KGRhdGEsICdfX3JhdycpKSB7XG4gICAgICBsb2coZ2V0KGRhdGEsICdfX3JhdycpLCAnc3RyaW5nJyk7XG4gICAgICByZXR1cm4gcmVzLnNlbmQoZ2V0KGRhdGEsICdfX3JhdycpKTtcbiAgICB9XG4gICAgaWYgKCFnZXQoZGF0YSwgJ19fcGFjaycpKSB7XG4gICAgICBqc29uLmRhdGEgPSBkYXRhO1xuICAgIH1cbiAgICBpZiAoY29uZmlnLmRlYnVnICYmIGluZm8uZXJyKSB7XG4gICAgICBqc29uLmVyciA9IGluZm8uZXJyO1xuICAgIH1cbiAgICBpZiAoY29uZmlnLmRlYnVnICYmIGluZm8uZGVidWcpIHtcbiAgICAgIGpzb24uZGVidWcgPSBpbmZvLmRlYnVnO1xuICAgIH1cbiAgICBpZiAoY29uZmlnLmRlYnVnICYmIGluZm8uc3RhY2spIHtcbiAgICAgIGpzb24uc3RhY2sgPSBpbmZvLnN0YWNrO1xuICAgIH1cbiAgICBsb2coSlNPTi5zdHJpbmdpZnkoanNvbiwgbnVsbCwgMiksICdqc29uJyk7XG4gICAgcmV0dXJuIHJlcy5qc29uKGpzb24pO1xuICB9O1xuIl19
//# sourceMappingURL=hj_pack.js.map