From 951984fb55d552d9c816a30069e2321f3602d305 Mon Sep 17 00:00:00 2001
From: LMBishop <13875753+LMBishop@users.noreply.github.com>
Date: Wed, 22 Dec 2021 20:35:16 +0000
Subject: Add circular dependency detection and logging library
---
app/routes/page/router.ts | 19 +++++++++++++++++--
app/routes/special/router.ts | 3 +++
2 files changed, 20 insertions(+), 2 deletions(-)
(limited to 'app/routes')
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 = '
This page could not be built due to the following errors:
'
+ page.metadata.errors.forEach(e => {
+ html += `- ${e.identifier}: ${e.message}
`
+ });
+ html += '
Go
home?
'
+ 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 {
--
cgit v1.2.3-70-g09d2