core/modulemanager.lua

changeset 385
c064117c9357
parent 300
0ebf2ef5124e
child 391
79bd7a3e906c
equal deleted inserted replaced
384:4542bcdb7f55 385:c064117c9357
90 log("debug", "Stanza is an <iq/>"); 90 log("debug", "Stanza is an <iq/>");
91 local child = stanza.tags[1]; 91 local child = stanza.tags[1];
92 if child then 92 if child then
93 local xmlns = child.attr.xmlns or xmlns; 93 local xmlns = child.attr.xmlns or xmlns;
94 log("debug", "Stanza of type %s from %s has xmlns: %s", name, origin_type, xmlns); 94 log("debug", "Stanza of type %s from %s has xmlns: %s", name, origin_type, xmlns);
95 local handler = handlers[origin_type][name][xmlns]; 95 local handler = handlers[origin_type][name] and handlers[origin_type][name][xmlns];
96 if handler then 96 if handler then
97 log("debug", "Passing stanza to mod_%s", handler_info[handler].name); 97 log("debug", "Passing stanza to mod_%s", handler_info[handler].name);
98 return handler(origin, stanza) or true; 98 return handler(origin, stanza) or true;
99 end 99 end
100 end 100 end
101 elseif handlers[origin_type] then 101 elseif handlers[origin_type] then
102 local handler = handlers[origin_type][name]; 102 local handler = handlers[origin_type][name];
103 if handler then 103 if handler then
104 handler = handler[xmlns]; 104 handler = handler[xmlns];
105 if handler then 105 if handler then
106 log("debug", "Passing stanza to mod_%s", handler_info[handler].name); 106 log("debug", "Passing stanza to mod_%s", handler_info[handler].name);
107 return handler(origin, stanza) or true; 107 return handler(origin, stanza) or true;
108 end 108 end

mercurial