diff --git a/index.js b/index.js
index c8d22b9..171a108 100644
--- a/index.js
+++ b/index.js
@@ -105,35 +105,35 @@ app.get("/*", (req, res) => {
var file = req.params[0]
var absPath = path.join(pubDir, file)
- 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)
+ var html = fs.readFileSync(path.join(__dirname, 'resources/base.html')).toString()
res.setHeader('Content-Type', 'text/html')
+
+ var addedHTML = ""
- res.setHeader("X-Accel-Buffering", "no")
+ html = html.replace("{TITLE}", '/' + file)
try {
var dirContents = fs.readdirSync(absPath)
var dirStats = fs.statSync(absPath)
} catch (error) {
- res.send(baseStart.replace("{TITLE}", "404: not found!") + "
404: not found!
" + baseEnd)
+ html = html.replace("{CONTENT}", "404: not found!
Go to root")
+ res.send(html)
return
}
- res.write(baseStart.replace("{TITLE}", '/' + file))
-
- res.write(`${dirContents.length} Files
`)
+ addedHTML += `${dirContents.length} Files
`.trim()
if (file != '') {
- res.write('Parent Directory
')
+ addedHTML += 'Parent Directory
'
}
var dirs = []
var ogFolder = file
+ addedHTML += ""
+
for (let index = 0; index < dirContents.length; index++) {
const file = dirContents[index];
var userPath = path.join(ogFolder, file)
@@ -143,9 +143,9 @@ app.get("/*", (req, res) => {
if (!fileStats.isDirectory()) {
var fileExtension = file.substring(file.lastIndexOf('.') + 1, )
if (videoFormats.includes(fileExtension)) {
- res.write(`- ${file} | ${humanFileSize(fileStats.size)}
`)
+ addedHTML += `- ${file} | ${humanFileSize(fileStats.size)}
`
} else {
- res.write(`- ${file} | ${humanFileSize(fileStats.size)}
`)
+ addedHTML += `- ${file} | ${humanFileSize(fileStats.size)}
`
}
} else {
@@ -158,14 +158,18 @@ app.get("/*", (req, res) => {
var fileStats = fs.statSync(path.join(absPath, file))
- res.write(`- ./${file}/
`)
+ addedHTML += `- ./${file}/
`
}
// res.write(`./${file}/
`)
- res.write(baseEnd)
+ addedHTML += "
"
- res.end()
+ html = html.replace("{CONTENT}", addedHTML)
+
+ res.write(html, () => {
+ res.end()
+ })
})
process.on('uncaughtException', (err, origin) => {
diff --git a/resources/base.html b/resources/base.html
index f5273cb..023b198 100644
--- a/resources/base.html
+++ b/resources/base.html
@@ -13,10 +13,9 @@
+ The Violet Archive