Mercurial > libervia-backend
diff libervia/backend/plugins/plugin_comp_ap_gateway/__init__.py @ 4169:e92c32014024
component AP gateway: log a warning instead of raising an exception in `onMessage`:
if something goes wrong, a warning is logged instead of raising a failing in `onMessage`'s
`get_ap_actor_id_from_account` and `sign_and_post` calls.
author | Goffi <goffi@goffi.org> |
---|---|
date | Fri, 01 Dec 2023 18:22:26 +0100 |
parents | a1f7040b5a15 |
children | 6784d07b99c8 |
line wrap: on
line diff
--- a/libervia/backend/plugins/plugin_comp_ap_gateway/__init__.py Fri Dec 01 18:20:27 2023 +0100 +++ b/libervia/backend/plugins/plugin_comp_ap_gateway/__init__.py Fri Dec 01 18:22:26 2023 +0100 @@ -2277,7 +2277,14 @@ return mess_data actor_account = self._e.unescape(mess_data["to"].user) - actor_id = await self.get_ap_actor_id_from_account(actor_account) + try: + actor_id = await self.get_ap_actor_id_from_account(actor_account) + except Exception as e: + log.warning( + f"Can't retrieve data on actor {actor_account}: {e}" + ) + # TODO: send an error <message> + return mess_data inbox = await self.get_ap_inbox_from_id(actor_id, use_shared=False) try: @@ -2313,7 +2320,13 @@ "name": f"@{actor_account}", }) - await self.sign_and_post(inbox, ap_item["actor"], ap_item) + try: + await self.sign_and_post(inbox, ap_item["actor"], ap_item) + except Exception as e: + # TODO: send an error <message> + log.warning( + f"Can't send message to {inbox}: {e}" + ) return mess_data async def _on_message_retract(