| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 | const Koa = require('koa');const Router = require('koa-router');const hbs = require('koa-hbs');const bodyParser = require('koa-bodyparser');const handlebars = require('handlebars');const handler = require('./handlers/handler');const app = new Koa();const router = new Router();app  .use(async (ctx, next) => {    ctx.set('Server', 'Koa');    await next();  });router  .get('/json', (ctx) => {    ctx.body = {message: 'Hello, World!'};  })  .get('/plaintext', (ctx) => {    ctx.body = 'Hello, World!';  });const handlerName = process.env.NODE_HANDLER;if (handlerName) {  const dbLayer = require(`./handlers/${handlerName}`);  const routerHandler = handler(dbLayer);  router    .use(bodyParser())    .use(hbs.middleware({      handlebars: handlebars,      viewPath: __dirname + '/views'    }))    .get('/db', routerHandler.SingleQuery)    .get('/queries', routerHandler.MultipleQueries)    .get('/fortunes', routerHandler.Fortunes)    .get('/updates', routerHandler.Updates);}app.use(router.routes());app.listen(8080);console.log(`Worker started and listening on http://0.0.0.0:8080 ${new Date().toISOString()}`);
 |