Add heartbeat to websockets streaming API connections

th-downstream
Eugen Rochko 8 years ago
parent 1ee4c6415c
commit 6966854f3d

@ -215,8 +215,11 @@ const streamHttpEnd = req => (id, listener) => {
// Setup stream output to WebSockets
const streamToWs = (req, ws) => {
const heartbeat = setInterval(() => ws.ping(), 15000)
ws.on('close', () => {
log.verbose(req.requestId, `Ending stream for ${req.accountId}`)
clearInterval(heartbeat)
})
return (event, payload) => {
@ -234,6 +237,10 @@ const streamWsEnd = ws => (id, listener) => {
ws.on('close', () => {
unsubscribe(id, listener)
})
ws.on('error', e => {
unsubscribe(id, listener)
})
}
app.use(setRequestId)

Loading…
Cancel
Save