New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

instantly

Package Overview
Dependencies
Maintainers
1
Versions
30
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

instantly

Convenience wrapper for EventSource

latest
Source
npmnpm
Version
1.4.3
Version published
Maintainers
1
Created
Source

Instantly

instantly

Code Climate Test Coverage Travis Known Vulnerabilities

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:

<script src="//unpkg.com/instantly/dist/instantly.umd.js"></script>

Usage

// Example
var es = new Instantly("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.
    error: function(err) {
        console.log(err);
    }, // Optional. Extending the internal error handler.
    open: function(event) {
        console.log(event);
    }, // Optional. Extend when you open a connection to SSE.
    close: function() {
        console.log("closed");
    }, // Optional. Extend when a connection to SSE is closed. (Usually when an error occur)
    injectEventSourceNode: require("eventsource") // 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 set
es.on("message", function newMessage(msg) {
    console.log(msg.data);
});

// Listen to messages with an event set
es.on("eventName", function newMessage(msg) {
    console.log(msg.data);
});

// Start to listen for events send by SSE
es.listen();

If you need to close the connection client side

// Close
es.close();

// Need to open the connection again?
es.listen();

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.

Keywords

eventsource

FAQs

Package last updated on 26 Jan 2018

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts