You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. const config = require('config') //Default configuration file
  2. const express = require('express')
  3. const app = express()
  4. const port = process.env.NODE_ENV === 'production' ? 80 : 3001
  5. require('./database/mongoose')
  6. const docs = require('./swagger.js');
  7. const swaggerUI = require('swagger-ui-express')
  8. const { errorLogger, errorResponder } = require('./middleware/errorHandling.js')
  9. const requestLogging = require('./middleware/requestLogging.js')
  10. const cors = require('cors') //Cross-origin resource sharing
  11. const helmet = require('helmet') //Basic protection against attacks like XSS
  12. const fs = require('fs')
  13. const path = require('path')
  14. const routesDirectory = path.resolve(__dirname) + '/routes/'
  15. // console.log(config.util.getEnv('NODE_ENV'))
  16. app.use(errorLogger);
  17. app.use(errorResponder);
  18. app.use(express.json())
  19. app.use('/api-docs', swaggerUI.serve, swaggerUI.setup(docs))
  20. app.use(requestLogging)
  21. app.use(cors())
  22. app.use(helmet())
  23. fs.readdirSync(routesDirectory).forEach(route => {
  24. app.use(require(routesDirectory + route))
  25. })
  26. app.get('/', (req, res) => {
  27. try {
  28. res.send('Wello Horld!')
  29. } catch (e) {
  30. res.status(500).send(e)
  31. }
  32. })
  33. app.listen(port, () => {
  34. console.log('Server is up on port ' + port)
  35. })