Mercurial > libervia-backend
diff libervia/backend/plugins/plugin_xep_0131.py @ 4349:1bedcc6712e9
plugin XEP-0131: update triggers priority + add headers to MessageDataExtra:
- Lower priority is used for triggers so other plugins can add headers before the XML is
generated.
- Added `headers` to `MessageDataExtra` type.
rel 456
author | Goffi <goffi@goffi.org> |
---|---|
date | Fri, 28 Feb 2025 09:23:35 +0100 |
parents | 6a70fcd93a7a |
children |
line wrap: on
line diff
--- a/libervia/backend/plugins/plugin_xep_0131.py Mon Jan 13 01:23:22 2025 +0100 +++ b/libervia/backend/plugins/plugin_xep_0131.py Fri Feb 28 09:23:35 2025 +0100 @@ -151,9 +151,13 @@ log.info(_("Stanza Headers and Internet Metadata plugin initialization")) self.host = host host.register_namespace("shim", NS_SHIM) - host.trigger.add("sendMessage", self.send_message_trigger) - host.trigger.add("sendMessageComponent", self.send_message_trigger) - host.trigger.add("message_received", self.message_received_trigger) + # We give negative priority, as we want header to be added after normal priority + # trigger are called, in case they add their own headers. + host.trigger.add("sendMessage", self.send_message_trigger, priority=-50) + host.trigger.add("sendMessageComponent", self.send_message_trigger, priority=-50) + # We give non defaut priority, has we want header parsing to be done before normal + # priority triggers are called. + host.trigger.add("message_received", self.message_received_trigger, priority=50) def quote_value(self, value: str) -> str: """Quote a value if it contain special characters @@ -241,7 +245,7 @@ pass else: - def post_treat_addr(mess_data: MessageData): + def post_treat_addr(mess_data: MessageData) -> MessageData: """Add the headers metadata to the message data""" if headers.keywords: # We move keywords to a list of string in extra's "keywords" field.