-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathserver.js
59 lines (56 loc) · 1.4 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
var motley = require('./')
try {
var app = motley({
_ns: 'motley',
_maps: [
// require()'ed motley plugins go here.
],
'hooks.listen[]': function container (get, set) {
return function task (cb) {
get('console').log('listening on http://localhost:' + get('site.server').address().port + '/')
setImmediate(cb)
}
},
'middleware[]': function container (get, set) {
return function handler (req, res, next) {
res.vars || (res.vars = {})
res.vars.nonce = Math.random()
next()
}
},
'controllers[]': function container (get, set) {
return get('controller')()
.get('/', function (req, res, next) {
res.json({
'welcome': 'to ' + get('conf.site.title') + '!',
'version': require('./package.json').version,
'nonce': res.vars.nonce
})
})
},
'hooks.close[]': function container (get, set) {
return function task (cb) {
get('console').log('\n\nmotley says goodbye :)\n')
setImmediate(cb)
}
}
})
}
catch (err) {
exit(err)
}
function exit (err) {
console.error(err)
console.error(err.stack)
process.exit(1)
}
app.listen(function (err) {
if (err) exit(err)
function onExit () {
app.close(function (err) {
if (err) exit(err)
})
}
process.once('SIGINT', onExit)
process.once('SIGTERM', onExit)
})