Skip to content

Commit b5d3787

Browse files
committed
Add request_id match logic for radas message receiver
1 parent ae5ec19 commit b5d3787

File tree

1 file changed

+15
-2
lines changed

1 file changed

+15
-2
lines changed

charon/pkgs/radas_signature_handler.py

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,9 +37,10 @@ class RadasReceiver(MessagingHandler):
3737
this value transfers from the cmd flag, should register UmbListener when the client starts
3838
"""
3939

40-
def __init__(self, sign_result_loc: str) -> None:
40+
def __init__(self, sign_result_loc: str, request_id: str) -> None:
4141
super().__init__()
4242
self.sign_result_loc = sign_result_loc
43+
self.request_id = request_id
4344

4445
def on_start(self, event: Event) -> None:
4546
"""
@@ -62,6 +63,7 @@ def on_message(self, event: Event) -> None:
6263
On message callback
6364
"""
6465
self._process_message(event.message.body)
66+
event.connection.close() # Close the connection once message process is done
6567

6668
def on_connection_error(self, event: Event) -> None:
6769
"""
@@ -82,8 +84,19 @@ def _process_message(self, msg: Any) -> None:
8284
msg: The message body received
8385
"""
8486
msg_dict = json.loads(msg)
85-
result_reference_url = msg_dict.get("result_reference")
87+
msg_request_id = msg_dict.get("request_id")
88+
if msg_request_id != self.request_id:
89+
logger.info(
90+
"Message request_id %s does not match the request_id %s from sender, ignoring",
91+
msg_request_id,
92+
self.request_id,
93+
)
94+
return
8695

96+
logger.info(
97+
"Start to process the sign event message, request_id %s is matched", msg_request_id
98+
)
99+
result_reference_url = msg_dict.get("result_reference")
87100
if not result_reference_url:
88101
logger.warning("Not found result_reference in message,ignore.")
89102
return

0 commit comments

Comments
 (0)