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()}`);
|