Created the backend server (api)

This commit is contained in:
Mathias Wagner 2022-06-26 17:10:59 +02:00
parent cca37704b1
commit 39a9f0c209
Signed by: Mathias
GPG Key ID: B8DC354B0A1F5B44

44
server/api.js Normal file
View File

@ -0,0 +1,44 @@
const express = require('express');
const cors = require('cors');
const rateLimit = require('express-rate-limit');
// Create a new express app
const app = express();
// Add all needed middlewares
app.use(cors());
app.use(express.json());
app.use(require('../middlewares/error'));
// Add rate limiting
app.use("*", rateLimit({windowMs: 10 * 60 * 1000, max: 100, standardHeaders: true, legacyHeaders: false}));
// Register routes
app.use("/user", require('../routes/user'));
app.use("/session", require('../routes/session'));
app.use("/addon", require('../routes/addon'));
app.use("/release", require('../routes/release'));
app.use("/server", require('../routes/server'));
// Register 404 route
app.use("*", (req, res) => {
res.status(404).json({message: "Route not found"});
});
// Start the express server
module.exports.startServer = (port = 8352) => {
app.listen(port, () => log(`Listening to port ${port}`));
}
// Stop the express server
module.exports.stopServer = () => {
app.close();
console.log("Closed the server");
}
// Log something in the express server
const log = (msg) => {
console.log(`[Backend] ${msg}`);
}
module.exports.server = app;