yf-fpm-server
Version:
yf fast-platform api server
50 lines (41 loc) • 1.32 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _lodash = require('lodash');
var _lodash2 = _interopRequireDefault(_lodash);
var _exception = require('../utils/exception.js');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
const DEFAULT_ROUTERS = '/api,/ping,/webhook,/notify'.split(',');
exports.default = async (ctx, next) => {
let req = ctx.request;
let path = req.url;
if (_lodash2.default.indexOf(DEFAULT_ROUTERS, path) < 0) {
await next();
return;
}
let data = {
errno: 0,
message: '',
starttime: _lodash2.default.now()
};
ctx.success = (result, msg) => {
data.message = msg || '';
if (_lodash2.default.isPlainObject(result)) {
if (_lodash2.default.has(result, data)) {
data.data = result.data;
return;
}
}
data.data = result;
};
ctx.fail = err => {
data.message = err.message || _exception.E.System.UNDEFINED_EXCEPTION.message;
data.errno = err.errno == undefined ? _exception.E.System.UNDEFINED_EXCEPTION.errno : err.errno;
data.code = err.code == undefined ? _exception.E.System.UNDEFINED_EXCEPTION.code : err.code;
data.error = err;
};
await next();
data.timestamp = _lodash2.default.now();
ctx.body = data;
};