Mercurial > code > home > repos > homeauto
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 |