diff --git a/src/middleware/authentication.js b/src/middleware/authentication.js index 96cdd27..f47223d 100644 --- a/src/middleware/authentication.js +++ b/src/middleware/authentication.js @@ -24,15 +24,15 @@ const body = await res.text(); - console.log("[AuthCheck] Response status:", res.status); - console.log("[AuthCheck] Response headers:", Object.fromEntries(res.headers.entries())); - console.log("[AuthCheck] Response body:", body); + req.log.debug("[AuthCheck] Response status:", res.status); + req.log.debug("[AuthCheck] Response headers:", Object.fromEntries(res.headers.entries())); + req.log.debug("[AuthCheck] Response body:", body); sessionCache.set(cacheKey(req), { timestamp: Date.now(), status: res.status }); return res.status === 200; } catch (err) { - console.error("[AuthCheck] Fetch error:", err); + req.log.error("[AuthCheck] Fetch error:", err); return false; } } @@ -41,19 +41,19 @@ const remoteUser = req.headers["remote-user"]; if (remoteUser) { req.isAuthenticated = true; - console.log("Authenticated: ", remoteUser) + req.log.info("Authenticated: ", remoteUser) return next(); } const key = cacheKey(req); if (isCachedValid(key) !== false ) { req.isAuthenticated = true; - console.log("Authenticated Key", key) + req.log.info("Authenticated Key", key) return next(); } req.isAuthenticated = await checkAuthFallback(req); - console.log("Authenticated Result", req.isAuthenticated) + req.log.info("Authenticated Result", req.isAuthenticated) next(); }; diff --git a/src/middleware/errorHandler.js b/src/middleware/errorHandler.js index 6e8c677..c89f220 100644 --- a/src/middleware/errorHandler.js +++ b/src/middleware/errorHandler.js @@ -38,11 +38,11 @@ const errorContext = getErrorContext(code || statusCode); if (!isDev) { - // res.redirect(`/error?code=${errorContext.statusCode}`); + res.redirect(`/error?code=${errorContext.statusCode}`); return; } - const context = { + const context = buildErrorRenderContext({ req, requestId, timestamp, @@ -51,8 +51,8 @@ message, stack, errorContext, - }; + }); - res.status(errorContext.statusCode); - res.renderWithBaseContext("pages/error", context); + const errorPageContext = await getBaseContext(req?.isAuthenticated, context); + res.status(errorContext.statusCode).render("pages/error", errorPageContext); }; diff --git a/src/middleware/index.js b/src/middleware/index.js index 2a3757b..2cd52b9 100644 --- a/src/middleware/index.js +++ b/src/middleware/index.js @@ -22,7 +22,6 @@ function setupApp() { const app = express(); - app.use(authentication); const excludedPaths = ['/contact', '/analytics', '/track']; const DATA_LIMIT_BYTES = 10 * 1024; // 10k @@ -53,13 +52,17 @@ }); - // Setup handlebars + app.use(hbs); - app.use(baseContext) // Setup logging app.use(logEvent, morganInfo, morganWarn, morganError, loggingMiddleware); + app.use(authentication); + + // Setup handlebars + app.use(baseContext) + // Setup production environment if (process.env.NODE_ENV === "production") { app.use(applyProductionSecurity); diff --git a/src/routes/logs.js b/src/routes/logs.js index 2fde169..8b80008 100644 --- a/src/routes/logs.js +++ b/src/routes/logs.js @@ -19,7 +19,7 @@ const db = new Database(dbPath, { readonly: true }); router.get("/logs", secured, (req, res) => { - res.renderWithBaseContext("pages/logs", { layout: "logs" }); + res.render("pages/logs", { layout: "logs" }); }); router.post("/logs", secured, (req, res) => {