instantly
What is this?
EventSource wrapper.
The EventSource API is easy as it is. Reason I created this was to hide all logic used when I implement EventSource.
IMPORTANT. This is NOT EventSource Polyfill!
Installation
It's available on npm.
npm install --save instantly
How can I use this library?
It's an UMD module. If you don't know what UMD is: https://github.com/umdjs/umd
The UMD build is also available on unpkg:
Usage
// Examplevar es = "http://your-sse-endpoint.codes/channel" origin: "http://your-sse-endpoint.codes" // Optional. Just an extra level of precaution to verify your event origin matches your app's origin. retries: 2 // Optional. Default: 5 retries if connection to your endpoint fails. timeout: 1000 // Optional. Default: 15 seconds (15000). This is how often we should retry. closeConnNotFocus: true // Optional. Default: false. This will close the SSE connection if the tab/window is not in focus. Will reconnect when in focus. { console; } // Optional. Extending the internal error handler. { console; } // Optional. Extend when you open a connection to SSE. { console; } // Optional. Extend when a connection to SSE is closed. (Usually when an error occur) injectEventSourceNode: // Optional. If the module is being used in Node you're able to inject [eventsource-node](https://www.npmjs.com/package/eventsource); // If you want to use default options// var es = new Instantly('http://your-sse-endpoint.codes/channel'); // Listen to messages without any event setes; // Listen to messages with an event setes; // Start to listen for events send by SSEes;
If you need to close the connection client side
// Closees; // Need to open the connection again?es;
Built in features
- If you send an event with event id 'CLOSE', it'll close your SSE connection with no retries.
Example
Navigate to example folder
npm install
npm start
Open your browser in http://localhost:1337
High performance SSE server
SSEHub (Server-Sent Events streaming server)
Contribution
Contributions are appreciated.
License
MIT-licensed. See LICENSE.