This repository was archived by the owner on May 26, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathapp.js
More file actions
75 lines (67 loc) · 2.6 KB
/
app.js
File metadata and controls
75 lines (67 loc) · 2.6 KB
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
var express = require('express')
var https = require('https')
var http = require('http')
var path = require('path')
var log4js = require('log4js')
var fs = require('fs')
var settings = require('./routes/settings.js')
var dbsetup = require('./persistence/databaseSetup.js')
var WorkerProvider = require('./persistence/workerProvider.js').WorkerProvider
var routesetup = require('./routes/routesSetup.js')
var handlebarssetup = require('./handlebarsSetup.js')
var logger = log4js.getLogger('serpentes');
var app = express()
var hbs = require('express-handlebars').create({
defaultLayout: 'layout',
extname: '.hbs',
helpers: handlebarssetup.nonRequestHelper
})
require('handlebars-helpers').register(hbs.handlebars, { marked: undefined })
log4js.configure(path.join(__dirname, 'log4js.json'), {})
app.engine('.hbs', hbs.engine)
app.use(log4js.connectLogger(logger, {}))
app.set('port', process.env.PORT || 3000)
app.set('views', path.join(__dirname, 'views'))
app.set('view engine', '.hbs')
app.use(require('serve-favicon')(path.join(__dirname, 'favicon.ico')))
app.use(require('morgan')('tiny'))
app.use(require('body-parser').json())
app.use(require('body-parser').urlencoded())
app.use(require('method-override')())
app.use(require('express-session')({ secret: '{18165D59-08BB-40EF-BBA4-1220B623282B}' }))
app.use(require('less-middleware')(__dirname + "/public", {
preprocess: {
less: function (src, req) {
var vars = ""
for (item in settings.designvalues) {
vars += "@" + item + ":" + settings.designvalues[item] + ";"
}
return vars + src
}
}, force: true
}, { compress: true }))
app.use(express.static(path.join(__dirname, 'public')))
app.use(require('locale')(["de", "de_DE", "en"]))
app.use(require('codinglizards-localizer').localize())
app.use(require('./authentication.js').authentication(app.get('env')))
app.use(handlebarssetup.requestHelpers(hbs))
routesetup.setup(app)
// development only
if ('development' == app.get('env')) {
app.use(require('errorhandler')())
}
var server = undefined
if (fs.existsSync('server.p12')) {
var options = { pfx: fs.readFileSync('server.p12') }
server = https.createServer(options, app)
} else {
server = http.createServer(app)
}
var io = require('socket.io')(server)
app.use(require('./updates.js').updateSocket(io))
server.listen(app.get('port'), app.get('host'), function () {
console.log('Express server listening on port ' + app.get('port'))
})
dbsetup.setup()
settings.initializedesign()
require('codinglizards-localizer').initialize({ path: path.join(__dirname, 'languages') })