Skip to content

Commit 1ffc705

Browse files
authored
fix: Handle combined partial messages. (#22)
1 parent 13bf0d6 commit 1ffc705

File tree

2 files changed

+14
-1
lines changed

2 files changed

+14
-1
lines changed

lib/eventsource.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -306,7 +306,7 @@ function EventSource (url, eventSourceInitDict) {
306306
sizeUsed = 0
307307
} else if (pos > 0) {
308308
buf = buf.slice(pos)
309-
sizeUsed = buf.length
309+
sizeUsed = sizeUsed - pos
310310
}
311311
})
312312
}

test/eventsource_test.js

+13
Original file line numberDiff line numberDiff line change
@@ -377,6 +377,19 @@ describe('Parser', () => {
377377
})
378378
})
379379
})
380+
381+
it('two messages spanning 3 chunks with shared chunk', async () => {
382+
await withServer(async server => {
383+
server.byDefault(writeEvents(['data: Hel', 'lo\n\ndata:', 'World\n\n']))
384+
385+
await withEventSource(server, async es => {
386+
await shouldReceiveMessages(es, [
387+
{ data: 'Hello' },
388+
{ data: 'World' }
389+
])
390+
})
391+
})
392+
})
380393
})
381394

382395
describe('HTTP Request', () => {

0 commit comments

Comments
 (0)