-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathindex.js
57 lines (47 loc) · 1.33 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
'use strict';
var path = require('path');
var express = require('express');
var auth = require('http-auth');
var nunjucks = require('nunjucks');
var marked = require('marked');
var config = {
port: process.env.PORT || 3300,
accessToken: process.env.SUBSIDYSTORIESEU_ASSESS_TOKEN || ''
};
var app = express();
app.set('config', config);
app.set('port', config.port);
var middlewares = [];
// simple auth
if (config.accessToken != '') {
middlewares.push(auth.connect(auth.basic(
{realm: 'Protected area.'},
function(username, password, callback) {
var token = config.accessToken;
var allow = ((username == token) && (password == '')) ||
((username == '') && (password == token)) ||
((username == token) && (password == token));
callback(allow);
}
)));
}
// assets
app.use('/public', express.static(path.join(__dirname, 'public')));
var env = nunjucks.configure(path.join(__dirname, '/app/views'), {
autoescape: true,
express: app
});
env.addGlobal('marked', marked);
env.addFilter('marked', marked);
// pages
app.get(
/\/(|index\.html|country\.html)$/,
middlewares,
function(req, res) {
var template = (req.params[0] != '' ? req.params[0] : 'index.html');
res.render(template);
}
);
app.listen(app.get('port'), function() {
console.log('Listening on :' + app.get('port'));
});