aboutsummaryrefslogtreecommitdiffstats
path: root/app/routes
diff options
context:
space:
mode:
authorLMBishop <13875753+LMBishop@users.noreply.github.com>2021-12-22 20:35:16 +0000
committerLMBishop <13875753+LMBishop@users.noreply.github.com>2021-12-22 20:35:16 +0000
commit951984fb55d552d9c816a30069e2321f3602d305 (patch)
tree3763441916dffff9ca96dd0286c72104ba2954c0 /app/routes
parent4ddf6fc9ed90a704869da683561e5032b6c48d79 (diff)
Add circular dependency detection and logging library
Diffstat (limited to 'app/routes')
-rw-r--r--app/routes/page/router.ts19
-rw-r--r--app/routes/special/router.ts3
2 files changed, 20 insertions, 2 deletions
diff --git a/app/routes/page/router.ts b/app/routes/page/router.ts
index af5e844..dc819f8 100644
--- a/app/routes/page/router.ts
+++ b/app/routes/page/router.ts
@@ -26,11 +26,26 @@ router.get('/:page?', navbar, (req, res, next) => {
return;
}
+ let html: string;
+ let title: string;
+
+ if (page.metadata.errors.length != 0) {
+ html = '<div class="box-red">This page could not be built due to the following errors:<br><ul>'
+ page.metadata.errors.forEach(e => {
+ html += `<li>${e.identifier}: ${e.message}</li>`
+ });
+ html += '</ul>Go <a href="/">home</a>?</div>'
+ title = 'Page error'
+ } else {
+ html = page.html;
+ title = page.metadata.displayTitle;
+ }
+
res.render('page.ejs', {
navbar: res.locals.navbarHtml,
path: res.locals.path,
- content: page.html,
- title: page.metadata.displayTitle,
+ content: html,
+ title: title,
buildTime: new Date(page.buildTime)
});
});
diff --git a/app/routes/special/router.ts b/app/routes/special/router.ts
index e88919c..26130c5 100644
--- a/app/routes/special/router.ts
+++ b/app/routes/special/router.ts
@@ -1,5 +1,6 @@
import express from 'express';
import { navbar, page } from '../../middlewares/index.js';
+import { logger } from './../../logger.js'
export const router = express.Router({ mergeParams: true });
@@ -30,6 +31,7 @@ router.get('/special/purge/:page/confirm', (req, res, next) => {
return;
}
+ logger.info(`Purge for page ${page.standardName} requested by ${req.headers['x-forwarded-for'] || req.socket.remoteAddress }`)
if (res.locals.directory.purge(res.locals.path)) {
res.status(200).send();
} else {
@@ -44,6 +46,7 @@ router.get('/special/rebuild', navbar, (req, res) => {
});
router.get('/special/rebuild/confirm', (req, res) => {
+ logger.info(`Directory rebuild requested by ${req.headers['x-forwarded-for'] || req.socket.remoteAddress }`)
if (res.locals.directory.rebuild()) {
res.status(200).send();
} else {