about summary refs log tree commit diff
path: root/app/javascript/mastodon/stream.js
blob: 4b36082b2e66709a6bcc3be7631c55a727382e5b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
import WebSocketClient from 'websocket.js';

export default function getStream(streamingAPIBaseURL, accessToken, stream, { connected, received, disconnected, reconnected }) {
  const ws = new WebSocketClient(`${streamingAPIBaseURL}/api/v1/streaming/?access_token=${accessToken}&stream=${stream}`);

  ws.onopen      = connected;
  ws.onmessage   = e => received(JSON.parse(e.data));
  ws.onclose     = disconnected;
  ws.onreconnect = reconnected;

  return ws;
};