From b53152a6020b1565b662fc0fdc72a49b8ca0e314 Mon Sep 17 00:00:00 2001 From: nbitzz <77242831+nbitzz@users.noreply.github.com> Date: Thu, 26 Jan 2023 21:09:26 -0800 Subject: [PATCH] 1.2.2 complete (i hope) --- src/index.ts | 44 +++++++++++++++++++++++++------------------ src/routes/recieve.ts | 0 2 files changed, 26 insertions(+), 18 deletions(-) delete mode 100644 src/routes/recieve.ts diff --git a/src/index.ts b/src/index.ts index 694ef29..3d6dd7d 100644 --- a/src/index.ts +++ b/src/index.ts @@ -10,19 +10,15 @@ import fs from "fs" import axios, { AxiosResponse } from "axios" import Files from "./lib/files" -require('dotenv').config() - -let pkg = require(`${process.cwd()}/package.json`) - -let app = express() +require("dotenv").config() const multerSetup = multer({storage:memoryStorage()}) - +let pkg = require(`${process.cwd()}/package.json`) +let app = express() let config = require(`${process.cwd()}/config.json`) + app.use("/static",express.static("assets")) app.use(bodyParser.text({limit:(config.maxDiscordFileSize*config.maxDiscordFiles)+1048576,type:["application/json","text/plain"]})) -//let files:{[key:string]:{filename:string,mime:string,messageids:string[]}} = {} - // funcs function ThrowError(response:express.Response,code:number,errorMessage:string) { @@ -48,6 +44,10 @@ let client = new Client({intents:[ let files = new Files(client,config) +// routes (could probably make these use routers) + +// index, clone + app.get("/", function(req,res) { fs.readFile(__dirname+"/../pages/base.html",(err,buf) => { if (err) {res.sendStatus(500);console.log(err);return} @@ -80,6 +80,8 @@ app.get("/clone", function(req,res) { }) }) +// upload handlers + app.post("/upload",multerSetup.single('file'),async (req,res) => { if (req.file) { try { @@ -118,6 +120,8 @@ app.post("/clone",(req,res) => { } }) +// serve files & download page + app.get("/download/:fileId",(req,res) => { if (files.getFilePointer(req.params.fileId)) { let file = files.getFilePointer(req.params.fileId) @@ -132,22 +136,26 @@ app.get("/download/:fileId",(req,res) => { }) app.get("/file/:fileId",async (req,res) => { - let f = await files.readFileStream(req.params.fileId) - - res.setHeader("Content-Type",f.contentType) - res.status(200) - f.dataStream.pipe(res) -}) - -app.get("/server",(req,res) => { - res.send(JSON.stringify({...config,version:pkg.version})) + files.readFileStream(req.params.fileId).then(f => { + res.setHeader("Content-Type",f.contentType) + res.status(200) + f.dataStream.pipe(res) + }).catch((err) => { + ThrowError(res,err.status,err.message) + }) }) app.get("*",(req,res) => { ThrowError(res,404,"Page not found.") }) -app.listen(3000,function() { +app.get("/server",(req,res) => { + res.send(JSON.stringify({...config,version:pkg.version})) +}) + +// listen on 3000 or MONOFILE_PORT + +app.listen(process.env.MONOFILE_PORT || 3000,function() { console.log("Web OK!") }) diff --git a/src/routes/recieve.ts b/src/routes/recieve.ts deleted file mode 100644 index e69de29..0000000