-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.js
55 lines (41 loc) · 1.53 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
const express = require('express');
const helmet = require('helmet');
const session = require('express-session');
const bodyParser = require('body-parser');
const pgConnect = require('connect-pg-simple');
/* Make all variables from our .env file available in our process */
require('dotenv').config();
/* Init express */
const app = express();
/* Init helmet and CORS */
app.use(helmet({contentSecurityPolicy: false,}));
/* Set view engine */
app.set('view engine', 'ejs');
/* Setup the middlewares & configs */
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
app.use(session({
store: new (pgConnect(session))({ conString: process.env.DATABASE_URL }),
secret: process.env.SESSION_SECRET,
resave: false,
saveUninitialized: false,
cookie: { maxAge: 10 * 24 * 60 * 60 * 1000 },//10 days
}));
/* Define the static files and routes */
app.use('/assets', express.static('public/assets'));
app.use(require('./routes'));
app.get('*', (req, res) => {
res.status(404).render('404', { code: 404, failed: 'OOPS! Not found' });
});
//on deployment add logger
// const errorLogger = defaultLogger('error-handler');
// app.use((err, req, res, next) => {
// const { query, params, body } = req;
// errorLogger.error({ err, req: { query, params, body } });
// res.sendStatus(500);
// });
/* Listen on the port for requests */
app.listen(process.env.PORT || 3000, () => {
console.log('Express server listening on port %d in %s mode', process.env.PORT, app.settings.env);
});
module.exports = app;