UNPKG

yf-fpm-server

Version:

yf fast-platform api server

41 lines (30 loc) 1.13 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _koaRouter = require('koa-router'); var _koaRouter2 = _interopRequireDefault(_koaRouter); var _lodash = require('lodash'); var _lodash2 = _interopRequireDefault(_lodash); var _debug = require('debug'); var _debug2 = _interopRequireDefault(_debug); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const debug = (0, _debug2.default)('yf-fpm-server:webhook.js'); const webhook = (0, _koaRouter2.default)(); webhook.post('/webhook/:upstream/:type/:data', (ctx, next) => { const { upstream, type, data } = ctx.params; const topic = `#webhook/${upstream}/${type}`; const message = ctx.request.body; const events = ctx.fpm._webhook_events; message.url_data = data; debug('Webhook publish => Request: %O, Topic: %s, Message: %O', ctx.request, topic, message); ctx.fpm.publish(topic, message); events.unshift({ topic, message, at: _lodash2.default.now() }); if (events.length > 100) { events.pop(); } ctx.body = { message: 'ok' }; }); exports.default = webhook;