import bodyParser from 'body-parser' import express from 'express' import fileUpload from 'express-fileupload' import exphbs from 'express-handlebars' import session from 'express-session' import { logInput } from './logs' //import helmet from 'helmet' // import rateLimit from 'express-rate-limit' export const myHbs = exphbs.create({ // helpers: helpers, extname: 'hbs', // defaultView: 'default', layoutsDir: 'views/layouts/', partialsDir: 'views/partials/', }) // Not now because it's causing a problem with Poll for virtual assembly // const limiter = rateLimit({ // windowMs: 15 * 60 * 1000, // 15 minutes // max: 500 // limit each IP to 100 requests per windowMs // }) export const applyExpressMiddlewares = (app) => { // app.use(limiter) //app.use(helmet()) // app.use(cors()) // cors already activated by default from nexus-framework // Used for Pusher and Alexa (verify) app.use( bodyParser.urlencoded({ limit: '50mb', extended: true, }) ) app.use(bodyParser.json()) app.use(fileUpload()) // app.set('views', path.join(__dirname, '..', '..', 'public', 'views')) app.use(express.static('public')) app.engine('hbs', myHbs.engine) app.set('view engine', 'hbs') app.use( session({ secret: process.env.APP_SECRET, resave: true, saveUninitialized: false, cookie: { secure: true }, }) ) }