Add payload validation before parsing JSON

This commit is contained in:
Chris Wanstrath 2026-04-04 15:46:54 -07:00
parent e6afc0d797
commit 7ca1f94160

View File

@ -44,8 +44,10 @@ async function connect(url: string, signal: AbortSignal) {
for (const part of parts) { for (const part of parts) {
const line = part.split('\n').find(l => l.startsWith('data:')) const line = part.split('\n').find(l => l.startsWith('data:'))
if (!line) continue if (!line) continue
const payload = line.slice(5).trim()
if (!payload) continue
try { try {
const event: ToesEvent = JSON.parse(line.slice(5).trim()) const event: ToesEvent = JSON.parse(payload)
_listeners.forEach(l => { _listeners.forEach(l => {
if (l.types.includes(event.type)) l.callback(event) if (l.types.includes(event.type)) l.callback(event)
}) })