this is my server.js file
const mongoose = require('mongoose');
const dotenv = require('dotenv');
dotenv.config({ path: './config.env' });
const app = require('./app');
const port = process.env.PORT || 3000;
const server = app.listen(port, () => {
console.log(`App running on port ${port}...`);
});
process.on('unhandledRejection', (err) => {
console.log('UNHANDLED REJECTION! 💥 Shutting down...');
console.log(err.name, err.message);
server.close(() => {
process.exit(1);
});
});
and this is my app.js file
const path = require('path');
const express = require('express');
const helmet = require('helmet');
const xss = require('xss-clean');
const hpp = require('hpp');
const cookieParser = require('cookie-parser');
const compression = require('compression');
const myRouter = require('./routes/myRoutes');
const app = express();
app.set('view engine', 'pug');
app.set('views', path.join(__dirname, 'views'));
app.use(express.static(path.join(__dirname, 'public')));
app.use(
helmet.contentSecurityPolicy({
useDefaults: true,
directives: {
'img-src': ["'self'", 'https: data:'],
'frame-src': ["'self'", 'https: data:'],
defaultSrc: ["'self'", 'data:', 'blob:'],
},
})
);
// Development logging
if (process.env.NODE_ENV === 'development') {
// do something here
}
// console.log(process.env.NODE_ENV);
// Limit request from same API
const limiter = rateLimit({
windowMs: 60 * 60 * 1000, // 15 minutes
max: 100,
message: 'Too many request from this IP, please try again in an hour',
});
app.use('/api', limiter);
app.use(express.json({ limit: '20kb' }));
app.use(express.urlencoded({ extended: true, limit: '20kb' }));
app.use(cookieParser());
app.use(xss());
app.use(compression());
app.use('/', myRouter);
app.all('*', (req, res, next) => {
next(new AppError(`Can't find ${req.originalUrl} on this server!`, 404));
});
app.use(globalErrorHandler);
module.exports = app;