comparison service/environment/patch_cyclone.py @ 1708:3cfd3693a4ac

quick fixes for cyclone sse
author drewp@bigasterisk.com
date Wed, 17 Nov 2021 14:25:14 -0800
parents
children
comparison
equal deleted inserted replaced
1707:4a6fffe6a994 1708:3cfd3693a4ac
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