1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- /**
- * Currently commenting out redis caching as there is no
- * working implementation for the benchmark suite.
- */
- const Hapi = require('hapi');
- const Vision = require('vision');
- const options = {
- connections: {
- compression: false
- }
- };
- const server = new Hapi.Server(options);
- server.connection({port: process.env.PORT || 8080, host: '0.0.0.0'});
- server.register(Vision, (err) => {
- if (err) {
- throw err;
- }
- server.views({
- engines: { html: require('handlebars') },
- path: __dirname + '/views/'
- });
- });
- const Handler = require(`./handlers/${process.env.NODE_HANDLER}`);
- // Makes routing simpler as tfb routes are all GET's
- // We also don't use the nifty route features that Hapi has
- // to offer such as attaching a validator
- const Route = (path, handler) =>
- server.route({ method: 'GET', path, handler });
- const JsonSerialization = (req, reply) =>
- reply({ message: 'Hello, World!' }).header('Server', 'hapi');
- const Plaintext = (req, reply) =>
- reply('Hello, World!')
- .header('Server', 'hapi')
- .header('Content-Type', 'text/plain');
- Route('/json', JsonSerialization);
- Route('/plaintext', Plaintext);
- Route('/db', Handler.SingleQuery);
- Route('/queries', Handler.MultipleQueries);
- Route('/fortunes', Handler.Fortunes);
- Route('/updates', Handler.Updates);
- server.start((err) =>
- console.log('Hapi worker started and listening on ' + server.info.uri + " "
- + new Date().toISOString(" ")));
|