32 lines
807 B
JavaScript
32 lines
807 B
JavaScript
const express = require('express');
|
|
const helmet = require('helmet');
|
|
const cors = require('cors');
|
|
const morgan = require('morgan');
|
|
|
|
const env = require('./config/env');
|
|
const routes = require('./routes');
|
|
const authRateLimiter = require('./middlewares/authRateLimiter');
|
|
const notFound = require('./middlewares/notFound');
|
|
const errorHandler = require('./middlewares/errorHandler');
|
|
|
|
const app = express();
|
|
app.set('trust proxy', 'loopback');
|
|
|
|
app.use(helmet());
|
|
app.use(
|
|
cors({
|
|
origin: env.corsOrigin,
|
|
})
|
|
);
|
|
app.use(morgan(env.nodeEnv === 'production' ? 'combined' : 'dev'));
|
|
app.use(express.json());
|
|
|
|
app.use('/auth/login', authRateLimiter);
|
|
app.use('/api/auth/login', authRateLimiter);
|
|
app.use('/api', routes);
|
|
app.use(routes);
|
|
app.use(notFound);
|
|
app.use(errorHandler);
|
|
|
|
module.exports = app;
|