123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- /**
- * Currently commenting out redis caching as there is no
- * working implementation for the benchmark suite.
- */
- const Hapi = require('@hapi/hapi');
- const Vision = require('@hapi/vision');
- const options = {
- port: process.env.PORT || 8080,
- host: '0.0.0.0',
- compression: false
- };
- const server = new Hapi.server(options);
- const provision = async () => {
- await server.register({
- plugin: Vision,
- options: {
- 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 = (request, h) =>
- h.response({ message: 'Hello, World!' }).header('Server', 'hapi');
-
- const Plaintext = (request, h) =>
- h.response('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);
- await server.start();
- console.log('Hapi worker started and listening on ' + server.info.uri + " "
- + new Date().toISOString(" "));
- }
- provision()
|