diff --git a/package-lock.json b/package-lock.json index 7035308..e040113 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,6 +12,7 @@ "@types/body-parser": "^1.19.2", "@types/express": "^4.17.14", "@types/multer": "^1.4.7", + "axios": "^0.27.2", "body-parser": "^1.20.0", "discord.js": "^13.11.0", "dotenv": "^16.0.2", @@ -207,6 +208,15 @@ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" }, + "node_modules/axios": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz", + "integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==", + "dependencies": { + "follow-redirects": "^1.14.9", + "form-data": "^4.0.0" + } + }, "node_modules/body-parser": { "version": "1.20.0", "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz", @@ -483,6 +493,25 @@ "node": ">= 0.8" } }, + "node_modules/follow-redirects": { + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, "node_modules/form-data": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", @@ -1233,6 +1262,15 @@ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" }, + "axios": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz", + "integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==", + "requires": { + "follow-redirects": "^1.14.9", + "form-data": "^4.0.0" + } + }, "body-parser": { "version": "1.20.0", "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz", @@ -1452,6 +1490,11 @@ "unpipe": "~1.0.0" } }, + "follow-redirects": { + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==" + }, "form-data": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", diff --git a/package.json b/package.json index 294e30a..b440b12 100644 --- a/package.json +++ b/package.json @@ -16,6 +16,7 @@ "@types/body-parser": "^1.19.2", "@types/express": "^4.17.14", "@types/multer": "^1.4.7", + "axios": "^0.27.2", "body-parser": "^1.20.0", "discord.js": "^13.11.0", "dotenv": "^16.0.2", diff --git a/src/index.ts b/src/index.ts index e1dd559..cd2c846 100644 --- a/src/index.ts +++ b/src/index.ts @@ -97,7 +97,7 @@ app.post("/upload",multerSetup.single('file'),async (req,res) => { } fs.writeFile(__dirname+"/../.data/files.json",JSON.stringify(files),(err) => { - if (err) {res.status(500); res.send("[err] please try again"); delete files[uploadId]; return} + if (err) {res.status(500); res.send("[err] please try again"); delete files[uploadId];return} res.send(uploadId) }) @@ -130,7 +130,7 @@ app.get("/file/:fileId",async (req,res) => { if (msg?.attachments) { let attach = Array.from(msg.attachments.values()) for (let i = 0; i < attach.length; i++) { - let d = await axios.get(attach[i].url,{responseType:"arraybuffer"}).catch((e) => {console.error(e)}) + let d = await axios.get(attach[i].url,{responseType:"arraybuffer"}).catch((e:Error) => {console.error(e)}) if (d) { bufToCombine.push(d.data) } else { @@ -140,11 +140,13 @@ app.get("/file/:fileId",async (req,res) => { } } - let nb = Buffer.concat(bufToCombine) + let nb:Buffer|null = Buffer.concat(bufToCombine) res.setHeader('Content-Type',file.mime) res.send(nb) + nb = null + } else { res.sendStatus(404) }