From e34bf18e97a61dfca0ea95fbd442cb9c9e1a8e5f Mon Sep 17 00:00:00 2001 From: CoderTobi <77673526+CoderTobi@users.noreply.github.com> Date: Tue, 14 Oct 2025 21:23:50 +0200 Subject: [PATCH 1/7] updated eslint to stop marking __dirname --- backend/eslint.config.mjs | 3 +++ frontend/eslint.config.mjs | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/backend/eslint.config.mjs b/backend/eslint.config.mjs index b917886..0ddecdf 100644 --- a/backend/eslint.config.mjs +++ b/backend/eslint.config.mjs @@ -24,6 +24,9 @@ export default defineConfig([ "variables": true, "allowNamedExports": false }] + }, + languageOptions: { + globals: { ...globals.node } } } diff --git a/frontend/eslint.config.mjs b/frontend/eslint.config.mjs index c4e2ee3..5e8102e 100644 --- a/frontend/eslint.config.mjs +++ b/frontend/eslint.config.mjs @@ -26,7 +26,7 @@ export default defineConfig([ }] }, languageOptions: { - globals: { ...globals.browser, ...globals.jquery } + globals: { ...globals.browser, ...globals.jquery, ...globals.node } } } From 930c59f711f2207a0a2fcf20a78083a7b3b3c375 Mon Sep 17 00:00:00 2001 From: CoderTobi <77673526+CoderTobi@users.noreply.github.com> Date: Tue, 14 Oct 2025 23:32:01 +0200 Subject: [PATCH 2/7] #51 replaceMiddleware WIP --- frontend/client.js | 4 ++- frontend/middleware/replaceMiddleware.js | 35 ++++++++++++++++++++++++ frontend/templates/test.html | 1 + 3 files changed, 39 insertions(+), 1 deletion(-) create mode 100644 frontend/middleware/replaceMiddleware.js create mode 100644 frontend/templates/test.html diff --git a/frontend/client.js b/frontend/client.js index 7b5e954..b6cd9b8 100644 --- a/frontend/client.js +++ b/frontend/client.js @@ -21,12 +21,14 @@ try const HTTP_PORT = 8000; const express = require('express'); //const morgan = require('morgan'); + const replaceMiddleware = require('./middleware/replaceMiddleware'); console.log('Creating and configuring Web Server...'); const app = express(); console.log('Binding middleware...'); - app.use(express.static('./public')) + app.use(replaceMiddleware); + app.use(express.static('./public')); app.use(function(request, response, next) { response.setHeader('Access-Control-Allow-Origin', '*'); response.setHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE'); diff --git a/frontend/middleware/replaceMiddleware.js b/frontend/middleware/replaceMiddleware.js new file mode 100644 index 0000000..7193e68 --- /dev/null +++ b/frontend/middleware/replaceMiddleware.js @@ -0,0 +1,35 @@ +const fs = require('fs'); +const path = require('path'); + +function replaceMiddleware(req, res, next) { + let requestedFile = req.path; + + // Wenn Root angefragt wird, auf index.html umleiten + if (requestedFile === '/' || requestedFile === '') { + requestedFile = '/index.html'; + } + + if (requestedFile.endsWith('.html')) { + console.log("replaceMiddleware"); + const filePath = path.join(__dirname, '../public', requestedFile); + fs.readFile(filePath, 'utf8', (err, data) => { + if (err) { + console.log("Error in replaceMiddleware: could not find " + filePath); + return next(); + } + fs.readFile(path.join(__dirname, '../templates', 'test.html'), 'utf8', (testErr, testContent) => { + if (testErr){ + testContent = ''; + console.log("Error in replaceMiddleware: could not find file test.html"); + } + const replaced = data.replace('', testContent); + res.setHeader('Content-Type', 'text/html'); + res.send(replaced); + }); + }); + } else { + next(); + } +} + +module.exports = replaceMiddleware; \ No newline at end of file diff --git a/frontend/templates/test.html b/frontend/templates/test.html new file mode 100644 index 0000000..58095ee --- /dev/null +++ b/frontend/templates/test.html @@ -0,0 +1 @@ +