From 4749af6e904d85b3cce33c25de3fda05ba505f1d Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Mon, 28 Oct 2024 01:21:12 -1000 Subject: [PATCH] Convert WebSocket messages to bytes before passing them to `send_message` (#129300) --- .../components/websocket_api/connection.py | 26 ++++++++++++------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/homeassistant/components/websocket_api/connection.py b/homeassistant/components/websocket_api/connection.py index 6c0c6f0c587..62f1adc39b9 100644 --- a/homeassistant/components/websocket_api/connection.py +++ b/homeassistant/components/websocket_api/connection.py @@ -16,6 +16,12 @@ from homeassistant.helpers.http import current_request from homeassistant.util.json import JsonValueType from . import const, messages +from .messages import ( + error_message, + event_message, + message_to_json_bytes, + result_message, +) from .util import describe_request if TYPE_CHECKING: @@ -126,12 +132,12 @@ class ActiveConnection: @callback def send_result(self, msg_id: int, result: Any | None = None) -> None: """Send a result message.""" - self.send_message(messages.result_message(msg_id, result)) + self.send_message(message_to_json_bytes(result_message(msg_id, result))) @callback def send_event(self, msg_id: int, event: Any | None = None) -> None: """Send a event message.""" - self.send_message(messages.event_message(msg_id, event)) + self.send_message(message_to_json_bytes(event_message(msg_id, event))) @callback def send_error( @@ -145,13 +151,15 @@ class ActiveConnection: ) -> None: """Send an error message.""" self.send_message( - messages.error_message( - msg_id, - code, - message, - translation_key=translation_key, - translation_domain=translation_domain, - translation_placeholders=translation_placeholders, + message_to_json_bytes( + error_message( + msg_id, + code, + message, + translation_key=translation_key, + translation_domain=translation_domain, + translation_placeholders=translation_placeholders, + ) ) )