commit rest of old client/server fixes

This commit is contained in:
Xevion
2021-01-08 18:52:25 -06:00
parent b792d9cb9c
commit ab1c14adb5
7 changed files with 224 additions and 32 deletions

View File

@@ -1,7 +1,19 @@
import json
HEADER_LENGTH = 10
def prepare(message: str, encoding='ascii') -> bytes:
def prepare(message: str, encoding='utf-8') -> bytes:
"""Prepares a message for sending through a socket by adding a proper header and encoding it."""
header = f'{len(message):<{HEADER_LENGTH}}'
return (header + message).encode(encoding)
def prepare_json(object) -> bytes:
"""
Prepares a object for sending as encoded JSON with a header.
:param object: A JSON-encodable object
:return: Encoded JSON
"""
return prepare(json.dumps(object))