fix: guard the async /check-now handler against crashing (finding 8)

Express 4 geeft een afgewezen promise uit een async handler niet door aan
de error-handling; met Node 22 crashte daardoor het hele proces. De
handler vangt de fout nu zelf af, logt hem en antwoordt met een 500.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013gwc3aCiyQxmCWQke8RvEz
This commit is contained in:
Sjoerd de Vries
2026-09-05 15:53:20 +02:00
parent d07cda48c6
commit 7f378115b5
2 changed files with 26 additions and 3 deletions
+10 -3
View File
@@ -31,10 +31,17 @@ function createApp(deps) {
res.redirect('/');
});
// Express 4 vangt een afgewezen promise uit een async handler niet af, en
// Node 22 laat het proces daarop crashen — dus zelf afvangen.
app.post('/check-now', async (req, res) => {
const products = listProducts();
await checkAllProducts(products);
res.redirect('/?checked=1');
try {
const products = listProducts();
await checkAllProducts(products);
res.redirect('/?checked=1');
} catch (err) {
console.error(`[check-now] mislukt: ${err && err.message}`);
res.status(500).send('Er ging iets mis bij het controleren van de prijzen.');
}
});
return app;