From f6b3a0c6cffa5ebf10d20c20b5cadd575c91fe81 Mon Sep 17 00:00:00 2001 From: mathieui Date: Thu, 12 Feb 2015 12:17:01 +0100 Subject: Fix the uses of stanza.reply() This is relying on the stanzas being copied for each handler. We no longer do that for performance reasons, so instead of editing the copy in-place, stanza.reply() now returns a new stanza. --- slixmpp/plugins/xep_0009/rpc.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'slixmpp/plugins/xep_0009/rpc.py') diff --git a/slixmpp/plugins/xep_0009/rpc.py b/slixmpp/plugins/xep_0009/rpc.py index 5ed8b84c..786b1d2f 100644 --- a/slixmpp/plugins/xep_0009/rpc.py +++ b/slixmpp/plugins/xep_0009/rpc.py @@ -93,7 +93,8 @@ class XEP_0009(BasePlugin): def _item_not_found(self, iq): payload = iq.get_payload() - iq.reply().error().set_payload(payload) + iq = iq.reply() + iq.error().set_payload(payload) iq['error']['code'] = '404' iq['error']['type'] = 'cancel' iq['error']['condition'] = 'item-not-found' @@ -101,7 +102,8 @@ class XEP_0009(BasePlugin): def _undefined_condition(self, iq): payload = iq.get_payload() - iq.reply().error().set_payload(payload) + iq = iq.reply() + iq.error().set_payload(payload) iq['error']['code'] = '500' iq['error']['type'] = 'cancel' iq['error']['condition'] = 'undefined-condition' @@ -109,7 +111,8 @@ class XEP_0009(BasePlugin): def _forbidden(self, iq): payload = iq.get_payload() - iq.reply().error().set_payload(payload) + iq = iq.reply() + iq.error().set_payload(payload) iq['error']['code'] = '403' iq['error']['type'] = 'auth' iq['error']['condition'] = 'forbidden' @@ -117,7 +120,8 @@ class XEP_0009(BasePlugin): def _recipient_unvailable(self, iq): payload = iq.get_payload() - iq.reply().error().set_payload(payload) + iq = iq.reply() + error().set_payload(payload) iq['error']['code'] = '404' iq['error']['type'] = 'wait' iq['error']['condition'] = 'recipient-unavailable' -- cgit v1.2.3