UNPKG

@escueladigital/micro

Version:

Microservice manager for nodejs with kafka

39 lines (35 loc) 1.09 kB
const { name } = require(`${process.cwd()}/package.json`) const Koa = require('koa') const koaJwt = require('koa-jwt') const bodyParser = require('koa-bodyparser') const { db, Logger: { logger, Reporter }, Pubsub, JwtConfig, } = require('./src') const initialize = require('./src/load') const commitOffsets = require('./src/offsets') /* eslint-disable */ const checkParams = (port, secret) => { if (!port || !secret) return 'error' } const app = new Koa() module.exports = { start: async (port, secret, googleKey) => { checkParams(port, secret) app.use(bodyParser({ jsonLimit: '1mb', textLimit: '1mb' })) // Max parcing size of data app.use(koaJwt({ secret, passthrough: true })) // Jwt middleware app.use(JwtConfig.middleware) // Get the token from header. app.logger = logger(app, googleKey || undefined) app.datasources = await db.connect(app.logger, Reporter) app.name = name const pubsub = new Pubsub(app.logger) await pubsub.openConnection() app.PubSub = pubsub initialize(app, port) }, app, commitOffsets, Reporter, }