/
app.js
45 lines (40 loc) · 1.11 KB
/
app.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
const restify = require('restify')
const bunyan = require('bunyan')
const config = require('./config')
const logger = require('./utils/logger')
const store = require('./src/store')()
let server = restify.createServer({
name: config.name,
version: '1.0.0',
log: logger.child({
component: 'server',
level: bunyan.INFO,
streams: [{
level: bunyan.DEBUG,
type: 'raw',
stream: new restify.bunyan.RequestCaptureStream({
level: bunyan.WARN,
maxRecords: 100,
maxRequestIds: 1000,
stream: process.stderr
})
}],
serializers: bunyan.stdSerializers
})
})
// Setup server dont switch ordering
require('./src/transport')(store)
require('./config/restify')(server)
require('./routes')(server, store)
// Start server
function startServer () {
server.SERVICE_NAME = server.listen(config.port, config.ip, function () {
logger.info('Node Server listening on %d, in %s mode', config.port, config.env)
if (config.api_table) {
require('./utils/table')(server.router.mounts)
}
})
}
setImmediate(startServer)
// Expose server
module.exports = server