1 | # SseStream
|
2 |
|
3 | A zero-dependency node stream for writing [Server-Sent Events](https://html.spec.whatwg.org/multipage/server-sent-events.html).
|
4 |
|
5 | ## Installation
|
6 |
|
7 | ```
|
8 | npm install ssestream
|
9 | ```
|
10 |
|
11 | Or:
|
12 |
|
13 | ```
|
14 | yarn add ssestream
|
15 | ```
|
16 |
|
17 | ## Usage
|
18 |
|
19 | In a `(req, res)` handler for a [`request`](https://nodejs.org/api/http.html#http_event_request) event, Express [#get](https://expressjs.com/en/4x/api.html#app.get.method) route or similar:
|
20 |
|
21 | ```javascript
|
22 | const SseStream = require('ssestream')
|
23 |
|
24 | function (req, res) {
|
25 | const sse = new SseStream(req)
|
26 | sse.pipe(res)
|
27 |
|
28 | const message = {
|
29 | data: 'hello\nworld',
|
30 | }
|
31 | sse.write(message)
|
32 | }
|
33 | ```
|
34 |
|
35 | Properties on `message`:
|
36 |
|
37 | * `data` - String or object, which gets turned into JSON
|
38 | * `event` - (optional) String
|
39 | * `id` - (optional) String
|
40 | * `retry` - (optional) number
|
41 | * `comment` - (optional) String
|
42 |
|
43 | ## TypeScript
|
44 |
|
45 | The `SseStream#writeMessage(message)` method is a type-safe alias for `SseStream#write(message)`.
|