create-server.js 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  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. Route('/json', JsonSerialization);
  16. Route('/plaintext', Plaintext);
  17. Route('/mongoose/db', MongooseHandler.SingleQuery);
  18. Route('/mongoose/queries', MongooseHandler.MultipleQueries);
  19. Route('/mongoose/fortunes', MongooseHandler.Fortunes);
  20. Route('/mongoose/updates', MongooseHandler.Updates);
  21. Route('/sequelize/db', SequelizeHandler.SingleQuery);
  22. Route('/sequelize/queries', SequelizeHandler.MultipleQueries);
  23. Route('/sequelize/fortunes', SequelizeHandler.Fortunes);
  24. Route('/sequelize/updates', SequelizeHandler.Updates);
  25. function JsonSerialization(req, reply) {
  26. reply({ message: 'Hello, World!' })
  27. .header('Server', 'hapi');
  28. }
  29. function Plaintext(req, reply) {
  30. reply('Hello, World!')
  31. .header('Server', 'hapi')
  32. .header('Content-Type', 'text/plain');
  33. }
  34. // Makes routing simpler as tfb routes are all GET's
  35. // We also don't use the nifty route features that Hapi has
  36. // to offer such as attaching a validator
  37. function Route(path, handler) {
  38. server.route({ method: 'GET', path: path, handler: handler})
  39. }
  40. server.start(function (err) {
  41. console.log('Hapi worker started and listening on ' + server.info.uri);
  42. });