UNPKG

yf-fpm-server

Version:

yf fast-platform api server

50 lines (41 loc) 1.32 kB
'use strict'; 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; };