UNPKG

yf-fpm-server

Version:

yf fast-platform api server

80 lines (62 loc) 2.03 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _koaRouter = require('koa-router'); var _koaRouter2 = _interopRequireDefault(_koaRouter); var _core = require('../bin/core.js'); var _core2 = _interopRequireDefault(_core); var _debug = require('debug'); var _debug2 = _interopRequireDefault(_debug); var _lodash = require('lodash'); var _lodash2 = _interopRequireDefault(_lodash); var _uuid = require('uuid'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const debug = (0, _debug2.default)('yf-fpm-server:api.js'); const Api = (0, _koaRouter2.default)(); Api.post('/api', async (ctx, next) => { const postData = ctx.request.body; let { v, method, param } = postData; const fpm = ctx.fpm; const hash = (0, _uuid.v4)(); const startAt = _lodash2.default.now(); try { const paramObject = JSON.parse(param); fpm._counter = fpm._counter + 1; debug("[CALL METHOD]: %s @ %s. StartAt: %d", method, v, startAt); debug("PostData: %O", postData); fpm.runAction('CALL_API', fpm, ctx, { method, paramObject, v }); const p = await (0, _core2.default)(method, paramObject, v, fpm, ctx); const endAt = _lodash2.default.now(); debug('Api Biz result: %O, EntAt: %d, Use Total: %d', p, endAt, endAt - startAt); fpm.logger.info({ type: 'biz', status: 'success', result: p, param, startAt: new Date(startAt).toLocaleString(), endAt: new Date(endAt).toLocaleString(), hash, method, v, duration: endAt - startAt }); ctx.success(p); } catch (err) { const endAt = _lodash2.default.now(); fpm.logger.error({ status: 'error', type: 'biz', param, startAt: new Date(startAt).toLocaleString(), endAt: new Date(endAt).toLocaleString(), hash, method, v, duration: endAt - startAt }); debug('Api Biz Execute Error: %O', err); ctx.fail(err); } }); exports.default = Api;