Software / code / prosody
Comparison
plugins/mod_pubsub.lua @ 3697:67c01f75af97
mod_pubsub: Use pubsub_error_reply everywhere
| author | Florian Zeitz <florob@babelmonkeys.de> |
|---|---|
| date | Fri, 03 Dec 2010 16:36:13 +0100 |
| parent | 3672:b24db47995ac |
| child | 3698:77171fd1dc3c |
comparison
equal
deleted
inserted
replaced
| 3696:a96f275c42b5 | 3697:67c01f75af97 |
|---|---|
| 23 return true; | 23 return true; |
| 24 end | 24 end |
| 25 end | 25 end |
| 26 | 26 |
| 27 local pubsub_errors = { | 27 local pubsub_errors = { |
| 28 ["conflict"] = { "cancel", "conflict" }; | |
| 28 ["invalid-jid"] = { "modify", "bad-request", nil, "invalid-jid" }; | 29 ["invalid-jid"] = { "modify", "bad-request", nil, "invalid-jid" }; |
| 29 ["item-not-found"] = { "cancel", "item-not-found" }; | 30 ["item-not-found"] = { "cancel", "item-not-found" }; |
| 30 }; | 31 }; |
| 31 function pubsub_error_reply(stanza, error) | 32 function pubsub_error_reply(stanza, error) |
| 32 local e = pubsub_errors[error]; | 33 local e = pubsub_errors[error]; |
| 48 if data then | 49 if data then |
| 49 reply = st.reply(stanza) | 50 reply = st.reply(stanza) |
| 50 :tag("pubsub", { xmlns = xmlns_pubsub }) | 51 :tag("pubsub", { xmlns = xmlns_pubsub }) |
| 51 :add_child(data); | 52 :add_child(data); |
| 52 else | 53 else |
| 53 reply = st.error_reply(stanza, "cancel", "item-not-found", "Item could not be found in this node"); | 54 reply = pubsub_error_reply(stanza, "item-not-found"); |
| 54 end | 55 end |
| 55 return origin.send(reply); | 56 return origin.send(reply); |
| 56 end | 57 end |
| 57 | 58 |
| 58 function handlers.set_create(origin, stanza, create) | 59 function handlers.set_create(origin, stanza, create) |
| 61 if node then | 62 if node then |
| 62 ok, ret = service:create(node, stanza.attr.from); | 63 ok, ret = service:create(node, stanza.attr.from); |
| 63 if ok then | 64 if ok then |
| 64 reply = st.reply(stanza); | 65 reply = st.reply(stanza); |
| 65 else | 66 else |
| 66 reply = st.error_reply(stanza, "cancel", ret); | 67 reply = pubsub_error_reply(stanza, ret); |
| 67 end | 68 end |
| 68 else | 69 else |
| 69 repeat | 70 repeat |
| 70 node = uuid_generate(); | 71 node = uuid_generate(); |
| 71 ok, ret = service:create(node, stanza.attr.from); | 72 ok, ret = service:create(node, stanza.attr.from); |