diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/scadere/listen.py | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/scadere/listen.py b/src/scadere/listen.py index 085664d..8d115ae 100644 --- a/src/scadere/listen.py +++ b/src/scadere/listen.py @@ -67,12 +67,13 @@ async def describe_status(writer, status): async def write_xml(writer, document): - content = strings_from_xml(xml(document), 'unicode', - xml_declaration=True, default_namespace=None) - length = len(''.join(content)) - writer.write(f'Content-Length: {length}\r\n\r\n'.encode()) + content = tuple(map(str.encode, + strings_from_xml(xml(document), 'unicode', + xml_declaration=True, + default_namespace=None))) + writer.write(f'Content-Length: {sum(map(len, content))}\r\n\r\n'.encode()) for part in content: - writer.write(part.encode()) + writer.write(part) await writer.drain() |