const fs = require('fs'); const path = require('path'); const cors = require('cors'); const logger = require('morgan'); const express = require('express'); const cookieParser = require('cookie-parser'); const { log } = require('./modules/log'); const { speedLimiter, checkSystemLoad } = require('./modules/requestHandler'); require('dotenv').config(); const app = express(); app.set('trust proxy', 1); app.use(express.json()); app.use(cookieParser()); app.use(speedLimiter); app.use(checkSystemLoad); app.use(logger('dev')); app.use(logger('combined', { stream: fs.createWriteStream(path.join(__dirname, 'logs/access.log'), { flags: 'a' }) })); app.use(cors({ origin: '*', })); // routes app.use('/api/test', require('./routes/test').router); app.use('/api/users', require('./routes/users').router); app.use('/api/pilots', require('./routes/pilots').router); app.use('/api/airplanes', require('./routes/airplanes').router); app.use('/api/airlines', require('./routes/airlines').router); app.use('/api/airports', require('./routes/airports').router); app.use('/api/flights', require('./routes/flights').router); app.use('/api/seats', require('./routes/seats').router); // run the API app.listen(process.env.PORT, async () => { log(`running at port ${process.env.PORT}`); }); // test // require('./modules/fetcher').post('http://127.0.0.1:1109/users/login', { 'usernameOrEmail':'foo', 'password':'bar' }).then(res => console.log(res));