Skip to content

Commit 41b8f05

Browse files
author
Alan Christie
committed
fix: Another attempt at message decoding
1 parent efe780b commit 41b8f05

File tree

2 files changed

+8
-7
lines changed

2 files changed

+8
-7
lines changed

app/app.py

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
)
2222
from pydantic import BaseModel
2323
from rstream import (
24-
AMQPMessage,
2524
Consumer,
2625
ConsumerOffsetSpecification,
2726
MessageContext,
@@ -321,9 +320,10 @@ async def generate_on_message_for_websocket(websocket: WebSocket, es_id: str):
321320
"""
322321
assert websocket
323322

324-
async def on_message_for_websocket(
325-
msg: AMQPMessage, message_context: MessageContext
326-
):
323+
async def on_message_for_websocket(msg: bytes, message_context: MessageContext):
324+
# The message is expected to be formed from an
325+
# AMQPMessage generated in the AS using 'body=bytes(message_string, "utf-8")'
326+
#
327327
# The MessageContext contains: -
328328
# - consumer: The Consumer object
329329
# - subscriber_name: str
@@ -332,8 +332,9 @@ async def on_message_for_websocket(
332332
# It's essentially time.time() x 1000
333333
r_stream = message_context.consumer.get_stream(message_context.subscriber_name)
334334
_LOGGER.info(
335-
"Got msg='%s' stream=%s es_id=%s",
335+
"Got msg='%s' (type=%s) stream=%s es_id=%s",
336336
msg,
337+
type(msg),
337338
r_stream,
338339
es_id,
339340
)
@@ -350,7 +351,7 @@ async def on_message_for_websocket(
350351
shutdown = True
351352
elif msg:
352353
try:
353-
await websocket.send_text(str(msg))
354+
await websocket.send_text(msg.decode("utf-8"))
354355
except WebSocketDisconnect:
355356
_LOGGER.info("Got WebSocketDisconnect for %s (stopping)...", es_id)
356357
shutdown = True

ws_listener.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ def main(c_args: argparse.Namespace):
2222
try:
2323
while True:
2424
data = ws.receive()
25-
print(str(data))
25+
print(type(data), str(data))
2626
except (KeyboardInterrupt, EOFError, ConnectionClosed):
2727
ws.close()
2828

0 commit comments

Comments
 (0)