Server-sent events
Stric provides the SSE
class for sending events to client.
import { Router } from '@stricjs/router';
import { SSE } from '@stricjs/utils';
const sse = new SSE('/events')
.use(req => {
req.controller // Use this to send events while signal not aborted
})
.abort(req => {
// Handle abort (remember to close the readable stream)
});
export default new Router().plug(sse);
For lower-level control, consider using the writer
method.
import { Router } from '@stricjs/router';
import { writer } from '@stricjs/utils';
export default new Router()
.get('/events', writer(
req => {
req.controller
// Write something to the controller
// Remember to manually close the readable stream
}
));
This method wraps the request handler inside a direct ReadableStream
.
Last updated
Was this helpful?