@@ -17,11 +17,15 @@ def get_sse_events(response: Response) -> List[Dict[str, Any]]:
17
17
for event in response .text .split ("\r \n \r \n " ):
18
18
if len (event .strip ()) == 0 :
19
19
continue
20
- event , data = event .split ("\r \n " , 1 )
21
- event = event .replace ("event: " , "" )
22
- data = data .replace ("data: " , "" )
23
- data = json .loads (data ) if len (data ) > 0 else None
24
- events .append ({"event" : event , "data" : data })
20
+ if "\r \n " not in event :
21
+ # ping message
22
+ events .append ({"event" : "" , "data" : None })
23
+ else :
24
+ event , data = event .split ("\r \n " , 1 )
25
+ event = event .replace ("event: " , "" )
26
+ data = data .replace ("data: " , "" )
27
+ data = json .loads (data ) if len (data ) > 0 else None
28
+ events .append ({"event" : event , "data" : data })
25
29
return events
26
30
27
31
@@ -154,7 +158,7 @@ def test_ping_is_send_sse(sse_client):
154
158
assert len (events ) == 4
155
159
assert events [0 ]["event" ] == "next"
156
160
assert events [0 ]["data" ]["data" ] == {"testSlow" : "slow" }
157
- assert events [1 ]["event" ] == "next "
161
+ assert events [1 ]["event" ] == ""
158
162
assert events [1 ]["data" ] is None
159
163
assert events [2 ]["event" ] == "next"
160
164
assert events [2 ]["data" ]["data" ] == {"testSlow" : "slow" }
0 commit comments