From b91ba944396760788c1c3e0421c53e37ad318b12 Mon Sep 17 00:00:00 2001 From: James Ketrenos Date: Thu, 28 Nov 2019 02:19:46 -0800 Subject: [PATCH] Added basepath scanner Signed-off-by: James Ketrenos --- server/routes/basepath.js | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 server/routes/basepath.js diff --git a/server/routes/basepath.js b/server/routes/basepath.js new file mode 100644 index 0000000..96e9829 --- /dev/null +++ b/server/routes/basepath.js @@ -0,0 +1,33 @@ +"use strict"; + +const express = require("express"), + fs = require("fs"), + url = require("url"); + +const router = express.Router(); + +/* This router only handles HTML files and is used + * to replace BASEPATH */ +router.get("/*", function(req, res, next) { + const parts = url.parse(req.url), + basePath = req.app.get("basePath"); + + if (!/\/[^/]+\.html$/.exec(parts.pathname)) { + return next(); + } + + console.log("Attempting to parse 'frontend" + parts.pathname + "'"); + + /* Replace in index.html with + * the basePath */ + fs.readFile("frontend" + parts.pathname, "utf8", function(error, content) { + if (error) { + return next(); + } + res.send(content.replace( + /