app.js 921 B

12345678910111213141516171819202122232425262728293031323334
  1. const express = require('express');
  2. const path = require('path');
  3. const logger = require('morgan');
  4. const cors = require('cors');
  5. const helmet = require('helmet');
  6. const apiLimiter = require('./helpers/apiLimiter');
  7. const contactsRouter = require('./routes/contacts');
  8. const authenticationRoute = require('./routes/user');
  9. const app = express();
  10. const FOLDER_IMAGES = process.env.DIR_IMAGES;
  11. app.use(express.static(path.join(__dirname, FOLDER_IMAGES)));
  12. const formatsLogger = app.get('env') === 'development' ? 'dev' : 'short';
  13. app.use(helmet());
  14. app.use(logger(formatsLogger));
  15. app.use(cors());
  16. app.use(express.json());
  17. app.use('/contacts', apiLimiter, contactsRouter);
  18. app.use('/auth', apiLimiter, authenticationRoute);
  19. app.use((_req, res) => {
  20. res.status(404).json({ message: 'Not found' });
  21. });
  22. app.use((err, _req, res, _next) => {
  23. res.status(500).json({ message: err.message });
  24. });
  25. module.exports = app;