forked from 2color/auroqueue
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathserver.js
62 lines (53 loc) · 1.48 KB
/
server.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
/**
* Server entry point
*
* requires dependencies and starts the server
*/
var Hapi = require('hapi');
var state = require('./server/state');
var config = { connections: { router: { stripTrailingSlash: true } } };
// Create a new server
const server = new Hapi.Server(config);
// Setup the server with a host and port
server.connection({
port: parseInt(process.env.PORT, 10) || 8000,
routes: { log: true }
});
/**
* Socket.io setup
*/
var io = require("socket.io")(server.listener);
server.app.io = io;
io.on("connection", function (socket) {
// server.log('connected', { woot: "log data object"});
socket.emit("state", state.getState());
})
/**
* Load all plugins and then start the server.
* First: community/npm plugins are loaded
* Second: project specific plugins are loaded
*/
server.register([
{
register: require("good"),
options: {
opsInterval: 5000,
reporters: [{
reporter: require('good-console'),
events: { log: '*', response: '*' },
config: {
format: 'YY/MM/DD HH:mm:ss'
}
}]
}
}, {
// static file serving support for hapi.js
register: require('inert'),
}, {
register: require('./server/routes')
}
], () => {
server.start( () => server.log([], 'Server started at: ' + server.info.uri) );
});
// Export the server to be required elsewhere (testing using)
module.exports = server;