createServer.js 613 B

123456789101112131415161718192021222324252627282930
  1. import express from 'express';
  2. import bodyParser from 'body-parser';
  3. import expressRateLimit from 'express-rate-limit';
  4. import routes from './api/routes/bDateRoutes.js'; // importing routes
  5. /**
  6. * @param {ExpressApp} app
  7. * @returns {ExpressApp}
  8. */
  9. function createServer ({
  10. app = express(),
  11. rateLimit = {
  12. windowMs: 1 * 60 * 1000, // 1 minute
  13. max: 20
  14. }
  15. } = {}) {
  16. if (rateLimit) {
  17. app.use(expressRateLimit(rateLimit));
  18. }
  19. app.use(bodyParser.urlencoded({extended: true}));
  20. app.use(bodyParser.json());
  21. routes(app); // register the routes
  22. return app;
  23. }
  24. export default createServer;