44 lines
1.2 KiB
JavaScript
44 lines
1.2 KiB
JavaScript
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; |