diff options
Diffstat (limited to 'index.js')
-rw-r--r-- | index.js | 43 |
1 files changed, 40 insertions, 3 deletions
@@ -31,7 +31,23 @@ const fs = require('fs'); const app = express(); // Get version and build numbers -const version = (fs.existsSync("./.git/refs/heads/mane") ? fs.readFileSync("./.git/refs/heads/mane").toString().trim().substring(0, 8) : (fs.existsSync("../.git/refs/heads/mane") ? fs.readFileSync("../.git/refs/heads/mane").toString().trim().substring(0, 8) : (fs.existsSync("./version.txt") ? fs.readFileSync("./version.txt").toString().trim() : (fs.existsSync("../version.txt") ? fs.readFileSync("../version.txt").toString().trim().substring(0, 8) : "live")))); +const version = (fs.existsSync("./.git/refs/heads/mane") + ? + fs.readFileSync("./.git/refs/heads/mane").toString().trim().substring(0, 8) + : + (fs.existsSync("../.git/refs/heads/mane") + ? + fs.readFileSync("../.git/refs/heads/mane").toString().trim().substring(0, 8) + : + (fs.existsSync("./version.txt") + ? + fs.readFileSync("./version.txt").toString().trim().substring(0, 8) + : + (fs.existsSync("../version.txt") + ? + fs.readFileSync("../version.txt").toString().trim().substring(0, 8) + : + "live")))); const build = (fs.existsSync("./build.txt") ? fs.readFileSync("./build.txt").toString().trim() : (fs.existsSync("../build.txt") ? fs.readFileSync("../build.txt").toString().trim() : "dev")); // Restart manager @@ -53,6 +69,10 @@ app.get('/servers', (req, res) => { res.render("servers", { serverCache, version, build }); }); +app.get('/broken', (req, res) => { + res.render("broken", { serverCache, version, build }); +}); + app.get("/plurality", (req, res) => { res.render("plurality", { pluralCache, version, build }); }); @@ -62,12 +82,13 @@ app.get("/about", (req, res) => { }); app.get("/projects", (req, res) => { - res.render("projects", { version, build }); + res.render("projects", { projectCache, version, build }); }); // API let serverCache = {}; let pluralCache = {}; +let projectCache = JSON.parse(fs.readFileSync(__dirname + "/data/projects.json").toString()); app.get("/api/servers", (req, res) => { res.json(serverCache); @@ -77,6 +98,10 @@ app.get("/api/plural", (req, res) => { res.json(pluralCache); }); +app.get("/api/projects", (req, res) => { + res.json(projectCache); +}); + // Refresh handling const refresh = require('./refresh/servers'); const pkRefresh = require('./refresh/pluralkit'); @@ -84,6 +109,7 @@ setInterval(cacheReload, 300000); function cacheReload() { console.log("Running refresh..."); + projectCache = JSON.parse(fs.readFileSync(__dirname + "/data/projects.json").toString()); refresh().then(data => { console.log("Refresh halfway done!"); serverCache = data; @@ -104,4 +130,15 @@ const server = app.listen(8099, function () { console.log("Vapor Trail server listening at http://%s:%s", host, port) cacheReload(); -})
\ No newline at end of file +}) + +// Error handling +app.use((req, res) => { + res.status(404); + res.render("error", { code: '404', message: 'What are you even looking for?', version, build, process, req, UAParser: require('ua-parser-js') }); +}) + +app.use(function(err, req, res, next) { + res.status(500); + res.render("error", { err, code: '500', message: 'Things went pretty downhill.', version, build, process, req, UAParser: require('ua-parser-js') }); +});
\ No newline at end of file |