sse-stream-auth
This is a fork of sse-stream that adds cookie-based authentication support & dynamic connection creation
See https://github.com/jameswomack/sse-stream-auth-example.git for an example of using auth and subscribing to multiple channels that you've created dynamically.
Expose HTML5 Server Sent Events as an installable appliance on Node.JS http
servers; connections are emitted as Writable streams.
var http = fs = through = sse = prefixes: '/awesomeApp' create: true // Allow dynamic connection creation serv moduleexports = serv = http sse sse // client-side code: { var es = '/awesomeApp/someChannelNameHere' pre = document closed = false documentbody es { ifclosed return pre window } es es { closed = true }}
API
sse = require('sse-stream-auth')(options)
Create a SSE server that emits connection
events on new, successful eventstream connections.
The argument must be an options object:
prefixes: '/awesomeApp' '/awesomeUsername' keepalive: 1000
keepalive
determines the interval time in ms that keepalives will be sent to all connected clients.
sse.on('connection', function(client))
client
is a writable stream representing a client connection (request response pair).
Of note, all data sent through this connection will be stringified before sending due to the event stream spec.
client.retry(integer ms)
Send a "retry" message that lets the client know how many MS to wait until retrying a connection that ended.
license
MIT