File tree Expand file tree Collapse file tree 1 file changed +16
-6
lines changed Expand file tree Collapse file tree 1 file changed +16
-6
lines changed Original file line number Diff line number Diff line change @@ -174,13 +174,15 @@ class EventSource {
174
174
}
175
175
176
176
_handleEvent ( response ) {
177
- const parts = response . substr ( this . lastIndexProcessed ) . split ( '\n' ) ;
178
-
179
- const indexOfDoubleNewline = response . lastIndexOf ( '\n\n' ) ;
180
- if ( indexOfDoubleNewline != - 1 ) {
181
- this . lastIndexProcessed = indexOfDoubleNewline + 2 ;
177
+ const indexOfDoubleNewline = this . _getLastDoubleNewlineIndex ( response ) ;
178
+
179
+ if ( indexOfDoubleNewline <= this . lastIndexProcessed ) {
180
+ return ;
182
181
}
183
-
182
+
183
+ const parts = response . substring ( this . lastIndexProcessed , indexOfDoubleNewline ) . split ( '\n' ) ;
184
+ this . lastIndexProcessed = indexOfDoubleNewline ;
185
+
184
186
let data = [ ] ;
185
187
let retry = 0 ;
186
188
let line = '' ;
@@ -219,6 +221,14 @@ class EventSource {
219
221
}
220
222
}
221
223
224
+ _getLastDoubleNewlineIndex ( response ) {
225
+ const lastIndex = response . lastIndexOf ( '\n\n' ) ;
226
+ if ( lastIndex === - 1 ) {
227
+ return - 1 ;
228
+ }
229
+ return lastIndex + 2 ;
230
+ }
231
+
222
232
addEventListener ( type , listener ) {
223
233
if ( this . eventHandlers [ type ] === undefined ) {
224
234
this . eventHandlers [ type ] = [ ] ;
You can’t perform that action at this time.
0 commit comments