platform/packages/eventsource/README.md
Tobe O 26afe42cb7 Add 'packages/eventsource/' from commit 'bc079d37353d94d827290914523b2757fb392ff9'
git-subtree-dir: packages/eventsource
git-subtree-mainline: c94bec26ec
git-subtree-split: bc079d3735
2020-02-15 18:29:05 -05:00

33 lines
No EOL
899 B
Markdown

# eventsource
Server-sent Events (SSE) plugin for Angel.
## Installation
In your `pubspec.yaml`:
```yaml
dependencies:
angel_eventsource: ^1.0.0
```
## Usage
SSE and WebSockets are somewhat similar in that they allow pushing of events from server
to client. SSE is not bi-directional, but the same abstractions used for WebSockets can be
applied to SSE easily.
For this reason, the `AngelEventSourcePublisher` class is a simple adapter that
hands control of SSE requests to an existing `AngelWebSocket` driver.
So, using this is pretty straightforward. You can dispatch events
via WebSocket as per usual, and have them propagated to SSE clients
as well.
```dart
var app = new Angel();
var ws = new AngelWebSocket(app);
var events = new AngelEventSourcePublisher(ws);
await app.configure(ws.configureServer);
app.all('/ws', ws.handleRequest);
app.get('/events', events.handleRequest);
```