diff options
Diffstat (limited to 'bin/server.js')
| -rwxr-xr-x | bin/server.js | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/bin/server.js b/bin/server.js new file mode 100755 index 0000000..b07aab4 --- /dev/null +++ b/bin/server.js @@ -0,0 +1,55 @@ +#!/usr/bin/env node + +'use strict'; + +var fs = require('fs'); +var path = require('path'); + +var Hapi = require('hapi'); + +var server = new Hapi.Server(); +var InsultGenerator = require('../lib/InsultGenerator'); + +var insults = new InsultGenerator({ + file : path.resolve(__dirname, '../ext/words.tab') +}); +var replaceRe = /{{insult}}/ +var template; + + +server.connection({ + host: 'localhost', + port: 9200 +}); + +server.route({ + method: 'GET', + path:'/', + handler: function (request, reply) { + insults.generate().then(function (insult) { + reply(template.replace(replaceRe, insult)); + }); + } +}); + +// Preload stuff, then run +console.log("Loading template..."); +fs.readFile(path.resolve(__dirname, '../ext/index.html'), {encoding: 'utf8'}, function (err, contents) { + + if (err) { + console.error(err); + process.exit(1) + } + + template = contents; + console.log("Setting up insults...") + insults.generate().then(function (insult) { + server.start(function() { + console.log('Server running at:', server.info.uri); + }); + }).catch(function (err) { + console.error(err); + console.log("Error running insults... bad augur"); + process.exit(1); + }); +}); |