Mercurial > prosody-hg
comparison plugins/adhoc/adhoc.lib.lua @ 6302:76699a0ae4c4
mod_lastactivity, mod_legacyauth, mod_presence, mod_saslauth, mod_tls: Use the newer stanza:get_child APIs and optimize away some table lookups
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Fri, 04 Jul 2014 22:52:34 +0200 |
| parents | ebc074918173 |
| children | 2b91da49285a |
comparison
equal
deleted
inserted
replaced
| 6301:2fdd71b08126 | 6302:76699a0ae4c4 |
|---|---|
| 23 function _M.new(name, node, handler, permission) | 23 function _M.new(name, node, handler, permission) |
| 24 return { name = name, node = node, handler = handler, cmdtag = _cmdtag, permission = (permission or "user") }; | 24 return { name = name, node = node, handler = handler, cmdtag = _cmdtag, permission = (permission or "user") }; |
| 25 end | 25 end |
| 26 | 26 |
| 27 function _M.handle_cmd(command, origin, stanza) | 27 function _M.handle_cmd(command, origin, stanza) |
| 28 local sessionid = stanza.tags[1].attr.sessionid or uuid.generate(); | 28 local cmdtag = stanza.tags[1] |
| 29 local sessionid = cmdtag.attr.sessionid or uuid.generate(); | |
| 29 local dataIn = {}; | 30 local dataIn = {}; |
| 30 dataIn.to = stanza.attr.to; | 31 dataIn.to = stanza.attr.to; |
| 31 dataIn.from = stanza.attr.from; | 32 dataIn.from = stanza.attr.from; |
| 32 dataIn.action = stanza.tags[1].attr.action or "execute"; | 33 dataIn.action = cmdtag.attr.action or "execute"; |
| 33 dataIn.form = stanza.tags[1]:child_with_ns("jabber:x:data"); | 34 dataIn.form = cmdtag:get_child("x", "jabber:x:data"); |
| 34 | 35 |
| 35 local data, state = command:handler(dataIn, states[sessionid]); | 36 local data, state = command:handler(dataIn, states[sessionid]); |
| 36 states[sessionid] = state; | 37 states[sessionid] = state; |
| 37 local cmdtag; | 38 local cmdtag; |
| 38 if data.status == "completed" then | 39 if data.status == "completed" then |
