]>
Commit | Line | Data |
---|---|---|
1 | #!/usr/bin/env node | |
2 | ||
3 | 'use strict'; | |
4 | ||
5 | var fs = require('fs'); | |
6 | var path = require('path'); | |
7 | ||
8 | var Hapi = require('hapi'); | |
9 | ||
10 | var server = new Hapi.Server(); | |
11 | var InsultGenerator = require('../lib/InsultGenerator'); | |
12 | ||
13 | var insults = new InsultGenerator({ | |
14 | file : path.resolve(__dirname, '../ext/words.tab') | |
15 | }); | |
16 | var replaceRe = /{{insult}}/ | |
17 | var template; | |
18 | ||
19 | ||
20 | server.connection({ | |
21 | host: 'localhost', | |
22 | port: 9200 | |
23 | }); | |
24 | ||
25 | server.route({ | |
26 | method: 'GET', | |
27 | path:'/', | |
28 | handler: function (request, reply) { | |
29 | insults.generate().then(function (insult) { | |
30 | reply(template.replace(replaceRe, insult)); | |
31 | }); | |
32 | } | |
33 | }); | |
34 | ||
35 | server.route({ | |
36 | config: { | |
37 | cors: { | |
38 | origin: ['*'], | |
39 | additionalHeaders: ['cache-control', 'x-requested-with'] | |
40 | } | |
41 | }, | |
42 | method: 'GET', | |
43 | path:'/raw', | |
44 | handler: function (request, reply) { | |
45 | insults.generate().then(function (insult) { | |
46 | reply(insult); | |
47 | }); | |
48 | } | |
49 | }); | |
50 | ||
51 | // Preload stuff, then run | |
52 | console.log("Loading template..."); | |
53 | fs.readFile(path.resolve(__dirname, '../ext/index.html'), {encoding: 'utf8'}, function (err, contents) { | |
54 | ||
55 | if (err) { | |
56 | console.error(err); | |
57 | process.exit(1) | |
58 | } | |
59 | ||
60 | template = contents; | |
61 | console.log("Setting up insults...") | |
62 | insults.generate().then(function (insult) { | |
63 | server.start(function() { | |
64 | console.log('Server running at:', server.info.uri); | |
65 | }); | |
66 | }).catch(function (err) { | |
67 | console.error(err); | |
68 | console.log("Error running insults... bad augur"); | |
69 | process.exit(1); | |
70 | }); | |
71 | }); |