/
settings.js
71 lines (66 loc) · 1.89 KB
/
settings.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
63
64
65
66
67
68
69
70
var pjson = require('./package.json');
var defaultConfig = {
general: {
debug: true
},
cluster: {
enable: false,
workers: 4
},
express: {
port: process.env.EXPRESS_PORT || 3000,
myendpoint: '/myendpoint/'
},
tooBusy: {
busyMsg: 'The server is too busy at the moment. Please try again later',
maxLag: 80
},
ddos: {
enable: false,
settings: {
maxcount: 30,
burst: 5,
limit: 20,
maxexpiry: 128,
checkinterval: 1,
errormessage: 'You have performed too many requests!!!',
testmode: false,
silent: false,
silentStart: false
}
},
logger: {
name: pjson.name,
streams: [
{
type: 'rotating-file',
path: pjson.name + '.log',
period: '1w', // weekly rotation
count: 4 // keep 4 back copies
},
{
stream: process.stdout,
level: 'debug'
}
]
}
};
function initializeSettings() {
// If there is cluster mode enabled then disable bunyan log rotations
// since it is buggy
if (defaultConfig.cluster.enable) {
for (var i = 0; i < defaultConfig.logger.streams.length; i++) {
if (defaultConfig.logger.streams[i].hasOwnProperty('type')){
delete defaultConfig.logger.streams[i].type;
}
if (defaultConfig.logger.streams[i].hasOwnProperty('period')){
delete defaultConfig.logger.streams[i].period;
}
if (defaultConfig.logger.streams[i].hasOwnProperty('count')){
delete defaultConfig.logger.streams[i].count;
}
}
}
return defaultConfig;
}
exports.initializeSettings = initializeSettings;