import express from 'express'; import fs from 'fs'; import path from 'path'; export default async function webserver() { const app = express(); const PORT = process.env.PORT || 3000; app.use(express.json()); const webDir = path.join(__dirname, 'web'); if (fs.existsSync(webDir)) { const files = fs.readdirSync(webDir).filter(f => f.endsWith('.ts') || f.endsWith('.js')); for (const file of files) { const mod = await import(path.join(webDir, file)); const handler = mod.default ?? mod; if (typeof handler === 'function') { await handler(app); console.log(`[WEB] Loaded web route: ${file}`); } } } app.listen(PORT, () => { console.log(`[WEB] Web server is running on port ${PORT}`); }); const IgnoredPaths = ['/favicon.ico', '/robots.txt', "/", "/hello"]; const KnownPaths = ["/git-commit", "/", "/health"]; // log all incoming requests app.use((req, res, next) => { if (IgnoredPaths.includes(req.url)) { return next(); } if (!KnownPaths.includes(req.url)) { console.warn(`[WEB] Unknown Route request: ${req.method} ${req.url} {${req.ip}}`); } else { console.log(`[WEB] Trusted Route request: ${req.method} ${req.url} {${req.ip}}`); } next(); }); }