Build HTTP APIs with routing, middleware, validation, controllers, and error handling.
Lessons
Push one-way real-time updates over a long-lived response.
Server-Sent Events is easiest to learn by reading the example, changing it, and observing the result.
import express from 'express';
const app = express();
app.get('/events', (req, res) => {
res.writeHead(200, {
'Content-Type': 'text/event-stream',
'Cache-Control': 'no-cache',
Connection: 'keep-alive'
});
const timer = setInterval(() => {
res.write(`data: ${JSON.stringify({ time: Date.now() })}
`);
}, 1000);
req.on('close', () => clearInterval(timer));
});
app.listen(3000);Practice the Server-Sent Events example in a small scratch file, then explain what changed and why.