const express = require('express'); const session = require('express-session'); const app = express(); const port = 3000; // Enable POST data handling app.use(express.json()); app.use(express.urlencoded({ extended: true })); // Start creating our session config var sess = { secret: 'dark archon', // will need to change this later cookie: {} } if (app.get('env') === 'production') { app.set('trust proxy', 1) // trust first proxy sess.cookie.secure = true // serve secure cookies } // Enable the Express.js session handling app.use(session(sess)) // Initialize the Twig template engine - this might get swapped for Twing later. app.set('view engine', 'twig'); // Service static files from public/ app.use(express.static('public')); // Load middleware authMiddleware = require('./src/middleware/authMiddleware'); app.use('/', authMiddleware.authProtected); // Load in route handlers indexRoutes = require('./routes/index'); authRoutes = require('./routes/auth'); // Assign routes to handlers app.get('/', indexRoutes.home); app.get('/auth/login', authRoutes.getLogin); app.post('/auth/login', authRoutes.postLogin); app.listen(port, () => { console.log(`Example app listening on port ${port}`) });