23 lines
		
	
	
		
			661 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			23 lines
		
	
	
		
			661 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| import WebSocketClient from 'websocket.js';
 | |
| 
 | |
| const createWebSocketURL = (url) => {
 | |
|   const a = document.createElement('a');
 | |
| 
 | |
|   a.href     = url;
 | |
|   a.href     = a.href;
 | |
|   a.protocol = a.protocol.replace('http', 'ws');
 | |
| 
 | |
|   return a.href;
 | |
| };
 | |
| 
 | |
| export default function getStream(accessToken, stream, { connected, received, disconnected, reconnected }) {
 | |
|   const ws = new WebSocketClient(`${createWebSocketURL(STREAMING_API_BASE_URL)}/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;
 | |
| };
 |