create-server.js 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. const Koa = require('koa');
  2. const Router = require('koa-router');
  3. const hbs = require('koa-hbs');
  4. const bodyParser = require('koa-bodyparser');
  5. const handlebars = require('handlebars');
  6. const Handler = require(`./handlers/${process.env.NODE_HANDLER}`);
  7. const app = new Koa();
  8. const router = new Router();
  9. app.use(bodyParser());
  10. app.use(hbs.middleware({
  11. handlebars: handlebars,
  12. viewPath: __dirname + '/views'
  13. }));
  14. function JsonSerialization(ctx, next) {
  15. ctx.set('Server', 'Koa');
  16. ctx.type = 'application/json';
  17. ctx.body = { message: 'Hello, World!' };
  18. return next();
  19. }
  20. function Plaintext(ctx, next) {
  21. ctx.set('Server', 'Koa');
  22. ctx.type = 'text/plain';
  23. ctx.body = 'Hello, World!';
  24. return next();
  25. }
  26. router.get('/json', JsonSerialization);
  27. router.get('/plaintext', Plaintext);
  28. router.get('/db', Handler.SingleQuery);
  29. router.get('/queries', Handler.MultipleQueries);
  30. router.get('/fortunes', Handler.Fortunes);
  31. router.get('/updates', Handler.Updates);
  32. app.use(router.routes());
  33. const server = app.listen(8080);
  34. console.log('Worker started and listening on http://0.0.0.0:8080 '
  35. + new Date().toISOString(" "));