-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.js
More file actions
executable file
·73 lines (63 loc) · 1.56 KB
/
index.js
File metadata and controls
executable file
·73 lines (63 loc) · 1.56 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
'use strict';
var bodyParser = require('body-parser');
var compress = require('compression');
var config = require('config');
var express = require('express');
var favicon = require('serve-favicon');
var path = require('path');
var logger = require('./src/resources/logger');
var root = require('./src/routes/root');
var sitemap = require('./src/routes/sitemap');
var newsletter = require('./src/routes/newsletter');
var apiSendemail = require('./src/routes/api/apiSendEmail');
var app = express();
/*
App Config
*/
app.use(compress());
app.set('views', path.join(__dirname, '/src/views'));
app.set('view engine', 'ejs');
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json({ reviver: true }));
app.use(express.static(path.join(__dirname, './src/static')));
app.use(favicon(__dirname + '/src/static/assets/img/favicon/favicon.ico'));
/*
WWW to now-WWW
*/
app.get('/*', function (req, res, next) {
if (req.headers.host.match(/^www/) !== null) {
res.redirect(301, 'http://' + req.headers.host.replace(/^www\./, '') + req.url);
} else {
next();
}
});
/*
Routes
*/
app.use('/', root);
app.use('/sitemap.xml', sitemap);
app.use('/newsletter', newsletter);
app.use('/api/sendemail', apiSendemail);
/*
404
*/
app.use(function (req, res, next) {
res.status(404).render('index');
});
/*
Logger
*/
logger.info({
config: config,
state: 'starting server...'
});
/*
Server
*/
var http = app.listen(config.httpPort, function () {
var port = http.address().port;
logger.info({
port: port,
state: 'http server started!'
});
});