From d118811eddad5beb5916108ec6c5d07afdaf71f3 Mon Sep 17 00:00:00 2001 From: bingus_violet Date: Tue, 16 Jan 2024 18:27:26 +0000 Subject: [PATCH] Basic Function --- index.js | 35 +++++++++++++++++++++++++++++++++++ resources/base.html | 12 ++++++++++++ 2 files changed, 47 insertions(+) create mode 100644 resources/base.html diff --git a/index.js b/index.js index 1d6ee79..0ca1c20 100644 --- a/index.js +++ b/index.js @@ -6,7 +6,42 @@ var app = express() var PORT = process.env.PORT || 8080 +var directory = process.env.FILES_DIR + +var baseHTML = fs.readFileSync(path.join(__dirname, 'resources/base.html')).toString() +var baseStart = baseHTML.substring(0, baseHTML.indexOf('{CONTENT}')) +var baseEnd = baseHTML.substring(baseHTML.indexOf('{CONTENT}') + 9, baseHTML.length) + +app.use(express.static(directory)) + +if (!directory) { + console.error("No directory specified! Please specify one using the environment variable FILES_DIR.") + return +} + app.listen(PORT, () => { console.log("Now listening on PORT: " + PORT) }) +app.get("/*", (req, res) => { + var file = req.params[0] + var absPath = path.join(directory, file) + try { + var dirContents = fs.readdirSync(absPath) + } catch (error) { + res.send("

404: not found!

") + } + + res.write(baseStart) + + res.write('Parent Directory
') + + for (let index = 0; index < dirContents.length; index++) { + const file = dirContents[index]; + res.write(`${file}
`) + } + + res.write(baseEnd) + + res.end() +}) \ No newline at end of file diff --git a/resources/base.html b/resources/base.html new file mode 100644 index 0000000..f876865 --- /dev/null +++ b/resources/base.html @@ -0,0 +1,12 @@ + + + + + + + Document + + + {CONTENT} + + \ No newline at end of file