From 60d4a477bdb7dbacfbf81cc7957c4269518b6d45 Mon Sep 17 00:00:00 2001 From: b1ek Date: Sun, 19 Feb 2023 12:32:25 +1000 Subject: [PATCH] add previous url --- middleware/index.js | 19 +++++++++++++++++++ middleware/session_back.js | 16 ++++++++++++++++ 2 files changed, 35 insertions(+) create mode 100644 middleware/index.js create mode 100644 middleware/session_back.js diff --git a/middleware/index.js b/middleware/index.js new file mode 100644 index 0000000..8e289f3 --- /dev/null +++ b/middleware/index.js @@ -0,0 +1,19 @@ +const express = require('express'); +const router = express.Router(); +const glob = require('glob'); + +glob(__dirname + "/**/*.js", {}, (er, data) => { + if (er) { + console.error(er); + process.exit(-1); + } + data + .filter(file => { + return !file.endsWith('index.js') + }) + .forEach(file => { + require(file)(router); + }); +}); + +module.exports = router; \ No newline at end of file diff --git a/middleware/session_back.js b/middleware/session_back.js new file mode 100644 index 0000000..c47d8e5 --- /dev/null +++ b/middleware/session_back.js @@ -0,0 +1,16 @@ +async function handler(req, res, next) { + // TODO: + // Log only non-automatical requests + // In other words, ignore requests like favicon.ico + if (!req.accepts('html') && !req.accepts('*')) { + next(); + return; + } + req.session.prev = req.originalUrl; + req.session.save(); + next(); +} + +module.exports = (router) => { + router.use(handler); +} \ No newline at end of file