Changeset 495b019 in Klonkt for src/server.js
- Timestamp:
- 10/25/2026 09:52:01 AM (2 days ago)
- Children:
- b4aaadd
- Parents:
- 5d0d3f35
- git-author:
- Bart <bart@…> (10/14/2026 02:48:46 PM)
- git-committer:
- Bart <bart@…> (10/25/2026 09:52:01 AM)
- File:
-
- 1 edited
-
src/server.js (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/server.js
r5d0d3f35 r495b019 17 17 import http from 'http'; 18 18 import db, { initializeDatabase } from './config/database.js'; 19 import ThemeService from './services/ThemeService.js'; 19 20 import { startScheduler } from './services/Scheduler.js'; 20 21 import { SqliteSessionStore } from './services/SqliteSessionStore.js'; … … 238 239 239 240 app.use('/assets', express.static(path.join(__dirname, 'assets'), { maxAge: isDev ? 0 : '1y' })); 241 // Lay-outthema's (experimental/theme). De versie staat in het pad, dus een 242 // nieuwe versie is een nieuwe URL en deze cache van een jaar klopt altijd -- 243 // geen ?v= om bij te houden. Alleen wat het pakket zelf noemt wordt geserveerd 244 // (ThemeService.layoutFile); een pad uit de URL komt nergens in een join. 245 app.get('/themes/:id/:version/:file', (req, res) => { 246 const file = ThemeService.layoutFile(req.params.id, req.params.version, req.params.file); 247 if (!file) return res.status(404).end(); 248 res.set('Cache-Control', isDev ? 'no-cache' : 'public, max-age=31536000, immutable'); 249 res.set('X-Content-Type-Options', 'nosniff'); 250 res.sendFile(file); 251 }); 240 252 241 253 // On-demand cover thumbnails: /media/thumb/<w>/<path> → a small lanczos-downscaled WebP
Note:
See TracChangeset
for help on using the changeset viewer.
![(please configure the [header_logo] section in trac.ini)](/chrome/site/your_project_logo.png)