beforeEach(function () { app = express() .use(boom()) .use(function (req, res, next) { req.context = {user: {}}; req.params = {package: {}}; next(); }); });
}) } next() } } return server }, /** * Register middlewares * @param server express server * @param app Trails app */ registerMiddlewares(app, server) { server.use(expressBoom()) if (this.cors) { server.use(cors(this.cors === true ? {} : this.cors)) } for (const index in this.webConfig.middlewares.order) { const middlewareName = this.webConfig.middlewares.order[index] const middleware = this.webConfig.middlewares[middlewareName] if (!middleware && middlewareName != 'router') continue if (_.isArray(middleware)) { for (const i in middleware) { const m = middleware[i] server.use(m) } } else if (middlewareName == 'router') {
import routes from '../routes'; const isProduction = process.env.NODE_ENV === 'production'; const sessionMiddleware = () => session({ secret: process.env.SECRET_SESSION, cookie: { maxAge: 60000 }, resave: false, saveUninitialized: false, }); const app = express(); app.use(cors()); app.use(boom()); app.use(require('morgan')('dev')); app.use(bodyParser.urlencoded({ extended: false })); app.use(bodyParser.json()); app.use(require('method-override')()); app.use(express.static(path.join(__dirname, '../public'))); app.use(sessionMiddleware()); if (!isProduction) { app.use(errorhandler()); } mongoose.connect(process.env.MONGODB_URI); mongoose.set('debug', !isProduction);
beforeEach(function () { app = express() .use(boom()) .use(context()); });
*/ app.disable('etag'); // detect accepted languages for i18n app.use(createLocaleMiddleware()) app.set('query parser', 'simple'); app.use(bodyParser.json()) app.use(bodyParser.urlencoded({ extended: true })) app.use(cookieSession({ name: 'session', // store: new RedisStore(), maxAge: cookieExpires, keys: [process.env.SESSION_KEY || 'keyboard cat'], })) app.use(passport.initialize()) app.use(passport.session()) app.use(boom()) // provides res.boom. erros dispatching app.use(helmet()) // security // set handlebars as templating engine for SSR app.engine('handlebars', engine); app.set('view engine', 'handlebars'); app.set('views', path.resolve(__dirname, './public')); // Cors permissions. // (almost everything is allowed) app.options("/*", function (req, res, next) { res.header('Access-Control-Allow-Origin', '*'); res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE,OPTIONS'); res.header('Access-Control-Allow-Headers', 'Content-Type, Authorization, Content-Length, X-Requested-With'); res.send(200); }); /** * Development only middlewares.