-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.js
95 lines (78 loc) · 2.68 KB
/
index.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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
'use strict';
var alert = require('./lib/alert');
var templateModel = require('./lib/templateModel');
var cloudcms = require('./lib/cloudcms');
var kraken = require('kraken-js'),
fs = require('fs'),
logger = require('./lib/logUtil'),
app = {};
app.supportedLocales = [];
app.configure = function configure(nconf, next) {
// Async method run on startup.
// Fired when an app configures itself
// Get supported locales
var i18n = nconf.get('i18n');
var countries = fs.readdirSync(i18n.contentPath);
for (var i = 0; i < countries.length; i++) {
var country = countries[i];
var countryPath = i18n.contentPath + '/' + country;
var languages = fs.readdirSync(countryPath);
for (var j = 0; j < languages.length; j++) {
app.supportedLocales.push((languages[j] + '-' + country).toLowerCase());
}
}
//Initialize logger
logger.config(nconf.get('loggerConfig'));
// Required for Alert messages show through out applicaiton.
require('./lib/dustjsHelper/resourceBundleHelper');
next(null);
};
app.requestStart = function requestStart(server) {
// Run before most express middleware has been registered.
};
app.requestBeforeRoute = function requestBeforeRoute(server) {
// Run before any routes have been added.
// Fired before routing occurs
server.use(logger.initialize());
// Run before any routes have been added.
server.use(function(req, res, next) {
var sessionLocale;
if (req.session.tenantInfo !== undefined) {
sessionLocale = req.session.tenantInfo.tenantLang;
}
var locale = 'en-US';
if (sessionLocale !== undefined) {
locale = sessionLocale;
}
res.locals.context = {
locality: locale
};
next();
});
// set up any Cloud CMS routes
cloudcms.routes(server);
};
app.requestAfterRoute = function requestAfterRoute(server) {
// Run after all routes have been added.
//Handling application errors and displaying 500 custom error page.
server.use(function(err, req, res, next) {
logger.error(" [Main App - req url] : " + req.url);
if (err) {
logger.error(" [Application Error - Main App stack] :\n " + err.stack);
alert.error(req, "alert.error.internalError");
delete req.session.user;
var model = templateModel(req);
res.render('login', model);
} else {
next();
}
});
};
if (require.main === module) {
kraken.create(app).listen(function(err, server) {
if (err) {
console.error(err.stack);
}
});
}
module.exports = app;