1708
|
1
|
|
2
|
|
3 def patch_sse():
|
|
4 from cyclone import escape
|
|
5 import cyclone.sse
|
|
6 def new_sendEvent(self, message, event=None, eid=None, retry=None):
|
|
7 if isinstance(message, dict):
|
|
8 message = escape.json_encode(message)
|
|
9 if isinstance(message, str):
|
|
10 message = message.encode("utf-8")
|
|
11 assert isinstance(message, bytes)
|
|
12 if eid:
|
|
13 self.transport.write(b"id: " + eid.encode("utf-8") + b"\n")
|
|
14 if event:
|
|
15 self.transport.write(b"event: " + event + b"\n")
|
|
16 if retry:
|
|
17 self.transport.write(b"retry: " + retry.encode("utf-8") + b"\n")
|
|
18 self.transport.write(b"data: " + message + b"\n\n")
|
|
19
|
|
20 cyclone.sse.SSEHandler.sendEvent = new_sendEvent
|