UNPKG

react-activity-tracker

Version:

A library to track user interactions and API activity in React apps

35 lines (28 loc) 858 B
// src/patchers/patchWebSocket.js export default function patchWebSocket(onTrack) { const OriginalWebSocket = window.WebSocket; function TrackedWebSocket(...args) { const socket = new OriginalWebSocket(...args); const [url] = args; socket.addEventListener('message', (e) => { onTrack({ type: 'websocket-receive', url, data: e.data, time: new Date().toISOString(), }); }); const originalSend = socket.send; socket.send = function (data) { onTrack({ type: 'websocket-send', url, data, time: new Date().toISOString(), }); return originalSend.call(socket, data); }; return socket; } window.WebSocket = TrackedWebSocket; }