-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathserver.js
More file actions
36 lines (32 loc) · 1.03 KB
/
server.js
File metadata and controls
36 lines (32 loc) · 1.03 KB
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
const express = require('express');
const cors = require('cors');
const helmet = require('helmet');
const auth = require('./middleware/auth');
const authRouter = require('./config/authRouter');
const stocksRouter = require('./config/stocksRouter');
const favoritesRouter = require('./config/favoritesRouter');
const topRouter = require('./config/topRouter');
const server = express();
const whitelist = [
'https://app.getstockly.com',
'https://stockly.netlify.app',
'http://localhost:3000',
];
const corsOptions = {
origin: function (origin, callback) {
// checking for `!origin` allows requests from REST tools
if (whitelist.indexOf(origin) !== -1 || !origin) {
callback(null, true);
} else {
callback(new Error('Not allowed by CORS'));
}
},
};
server.use(cors(corsOptions));
server.use(helmet());
server.use(express.json());
server.use('/auth', authRouter);
server.use('/stocks', auth, stocksRouter);
server.use('/favorites', auth, favoritesRouter);
server.use('/top', auth, topRouter);
module.exports = server;