create-server.js 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  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 MongooseHandler = require('./handlers/mongoose');
  7. const SequelizeHandler = require('./handlers/sequelize');
  8. const SequelizePgHandler = require('./handlers/sequelize-postgres');
  9. const app = new Koa();
  10. const router = new Router();
  11. app.use(bodyParser());
  12. app.use(hbs.middleware({
  13. handlebars: handlebars,
  14. viewPath: __dirname + '/views'
  15. }));
  16. function JsonSerialization(ctx, next) {
  17. ctx.set('Server', 'Koa');
  18. ctx.type = 'application/json';
  19. ctx.body = { message: 'Hello, World!' };
  20. return next();
  21. }
  22. function Plaintext(ctx, next) {
  23. ctx.set('Server', 'Koa');
  24. ctx.type = 'text/plain';
  25. ctx.body = 'Hello, World!';
  26. return next();
  27. }
  28. router.get('/json', JsonSerialization);
  29. router.get('/plaintext', Plaintext);
  30. router.get('/mongoose/db', MongooseHandler.SingleQuery);
  31. router.get('/mongoose/queries', MongooseHandler.MultipleQueries);
  32. router.get('/mongoose/fortunes', MongooseHandler.Fortunes);
  33. router.get('/mongoose/updates', MongooseHandler.Updates);
  34. router.get('/sequelize/db', SequelizeHandler.SingleQuery);
  35. router.get('/sequelize/queries', SequelizeHandler.MultipleQueries);
  36. router.get('/sequelize/fortunes', SequelizeHandler.Fortunes);
  37. router.get('/sequelize/updates', SequelizeHandler.Updates);
  38. router.get('/sequelize-pg/db', SequelizePgHandler.SingleQuery);
  39. router.get('/sequelize-pg/queries', SequelizePgHandler.MultipleQueries);
  40. router.get('/sequelize-pg/fortunes', SequelizePgHandler.Fortunes);
  41. router.get('/sequelize-pg/updates', SequelizePgHandler.Updates);
  42. app.use(router.routes());
  43. const server = app.listen(8080);
  44. console.log('Worker started and listening on http://0.0.0.0:8080 '
  45. + new Date().toISOString(" "));