create-server.js 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. var Hapi = require('hapi');
  2. var server = new Hapi.Server();
  3. server.connection({port: 8080});
  4. server.views({
  5. engines: {
  6. hbs: require('handlebars')
  7. },
  8. path: __dirname + '/views',
  9. compileOptions: {
  10. pretty: false
  11. }
  12. });
  13. var MongooseHandler = require('./handlers/mongoose');
  14. var SequelizeHandler = require('./handlers/sequelize');
  15. var SequelizePgHandler = require('./handlers/sequelize-postgres');
  16. var RedisHandler = require('./handlers/redis');
  17. Route('/json', JsonSerialization);
  18. Route('/plaintext', Plaintext);
  19. Route('/mongoose/db', MongooseHandler.SingleQuery);
  20. Route('/mongoose/queries', MongooseHandler.MultipleQueries);
  21. Route('/mongoose/fortunes', MongooseHandler.Fortunes);
  22. Route('/mongoose/updates', MongooseHandler.Updates);
  23. Route('/sequelize/db', SequelizeHandler.SingleQuery);
  24. Route('/sequelize/queries', SequelizeHandler.MultipleQueries);
  25. Route('/sequelize/fortunes', SequelizeHandler.Fortunes);
  26. Route('/sequelize/updates', SequelizeHandler.Updates);
  27. Route('/sequelize-pg/db', SequelizePgHandler.SingleQuery);
  28. Route('/sequelize-pg/queries', SequelizePgHandler.MultipleQueries);
  29. Route('/sequelize-pg/fortunes', SequelizePgHandler.Fortunes);
  30. Route('/sequelize-pg/updates', SequelizePgHandler.Updates);
  31. Route('/hiredis/db', RedisHandler.SingleQuery);
  32. Route('/hiredis/queries', RedisHandler.MultipleQueries);
  33. Route('/hiredis/fortunes', RedisHandler.Fortunes);
  34. Route('/hiredis/updates', RedisHandler.Updates);
  35. function JsonSerialization(req, reply) {
  36. reply({ message: 'Hello, World!' })
  37. .header('Server', 'hapi');
  38. }
  39. function Plaintext(req, reply) {
  40. reply('Hello, World!')
  41. .header('Server', 'hapi')
  42. .header('Content-Type', 'text/plain');
  43. }
  44. // Makes routing simpler as tfb routes are all GET's
  45. // We also don't use the nifty route features that Hapi has
  46. // to offer such as attaching a validator
  47. function Route(path, handler) {
  48. server.route({ method: 'GET', path: path, handler: handler})
  49. }
  50. server.start(function (err) {
  51. console.log('Hapi worker started and listening on ' + server.info.uri);
  52. });