-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.js
42 lines (38 loc) · 1.11 KB
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
const express = require('express')
const morgan = require('morgan')
const cors = require('cors')
const helmet = require('helmet')
const xss = require('xss-clean')
const favicon = require('serve-favicon')
const cookieParser = require('cookie-parser')
const app = express()
const path = require('node:path')
require('dotenv').config()
const {
NODE_ENV,
FRONTEND_URL,
PORT,
COOKIE_SECRET_KEY
} = process.env
const routesNavigator = require('./routes/all-routes')
app.set('trust proxy', ['loopback', 'linklocal', 'uniquelocal'])
app.use(helmet())
app.use(xss())
app.use(cookieParser(COOKIE_SECRET_KEY))
app.use(favicon(path.join(__dirname, 'public', 'favicon.ico')))
app.use('/static', express.static(path.join(__dirname, 'public')))
app.use(express.urlencoded({
extended: true
}))
app.use(express.json())
app.use(cors({
origin: FRONTEND_URL,
allowedHeaders: ['Content-Type', 'Authorization'],
methods: ['GET', 'PUT', 'POST', 'DELETE'],
credentials: true
}))
app.use(morgan('dev'))
app.use('/api/v1', routesNavigator)
app.listen(PORT, () => {
if (NODE_ENV === 'development') console.log(`Listen port at ${PORT}`)
})