This commit is contained in:
Kaushik Narayan R 2024-12-29 00:46:43 -07:00
parent 79060661a6
commit 714734c77a
4 changed files with 24 additions and 4 deletions

View File

@ -1,9 +1,10 @@
const axios = require("axios");
const rateLimit = require("axios-rate-limit");
const { baseAPIURL, accountsAPIURL } = require("../constants");
const logger = require("../utils/logger")(module);
const authInstance = axios.default.create({
const authInstance = axios.create({
baseURL: accountsAPIURL,
timeout: 20000,
headers: {
@ -12,7 +13,7 @@ const authInstance = axios.default.create({
},
});
const axiosInstance = axios.default.create({
const uncappedAxiosInstance = axios.create({
baseURL: baseAPIURL,
timeout: 20000,
headers: {
@ -20,6 +21,11 @@ const axiosInstance = axios.default.create({
},
});
const axiosInstance = rateLimit(uncappedAxiosInstance, {
maxRequests: 10,
perMilliseconds: 5000,
});
axiosInstance.interceptors.request.use(config => {
logger.http("API call", {
url: config.url,

View File

@ -148,7 +148,8 @@ const logout = async (req, res) => {
return;
} else {
res.clearCookie(sessionName);
res.sendStatus(200);
// res.sendStatus(200);
res.redirect(process.env.APP_URI + "?logout=success");
logger.debug("Logged out.", { sessionID: delSession.id });
return;
}

12
package-lock.json generated
View File

@ -10,6 +10,7 @@
"license": "MIT",
"dependencies": {
"axios": "^1.7.9",
"axios-rate-limit": "^1.4.0",
"connect-sqlite3": "^0.9.15",
"cookie-parser": "^1.4.7",
"cors": "^2.8.5",
@ -413,6 +414,17 @@
"proxy-from-env": "^1.1.0"
}
},
"node_modules/axios-rate-limit": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/axios-rate-limit/-/axios-rate-limit-1.4.0.tgz",
"integrity": "sha512-uM5PbmSUdSle1I+59Av/wpLuNRobfatIR+FyylSoHcVHT20ohjflNnLMEHZQr7N2QVG/Wlt8jekIPhWwoKtpXQ==",
"dependencies": {
"axios": ">=0.18.0"
},
"peerDependencies": {
"axios": "*"
}
},
"node_modules/balanced-match": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",

View File

@ -21,6 +21,7 @@
"homepage": "https://github.com/20kaushik02/spotify-manager#readme",
"dependencies": {
"axios": "^1.7.9",
"axios-rate-limit": "^1.4.0",
"connect-sqlite3": "^0.9.15",
"cookie-parser": "^1.4.7",
"cors": "^2.8.5",
@ -29,8 +30,8 @@
"express-session": "^1.18.1",
"express-validator": "^7.2.0",
"helmet": "^8.0.0",
"sequelize": "^6.37.5",
"pg": "^8.13.1",
"sequelize": "^6.37.5",
"serializr": "^3.0.3",
"winston": "^3.17.0"
},