comparison core/moduleapi.lua @ 13910:622790951285

moduleapi: :hook(): don't silently fall back to global events when host unknown This code will throw an error instead, but it's a situation that shouldn't happen (especially now :context() rejects unknown hosts). Related to #605
author Matthew Wild <mwild1@gmail.com>
date Fri, 27 Jun 2025 11:12:50 +0100
parents e6c6f58dfda1
children a0faff6ba853
comparison
equal deleted inserted replaced
13909:e6c6f58dfda1 13910:622790951285
91 self.event_handlers:set(object, event, handler, nil); 91 self.event_handlers:set(object, event, handler, nil);
92 return object.remove_handler(event, handler); 92 return object.remove_handler(event, handler);
93 end 93 end
94 94
95 function api:hook(event, handler, priority) 95 function api:hook(event, handler, priority)
96 return self:hook_object_event((hosts[self.host] or prosody).events, event, handler, priority); 96 local events;
97 local host = self.host;
98 if host == "*" then
99 events = prosody.events;
100 else
101 events = hosts[host].events;
102 end
103 return self:hook_object_event(events, event, handler, priority);
97 end 104 end
98 105
99 function api:hook_global(event, handler, priority) 106 function api:hook_global(event, handler, priority)
100 return self:hook_object_event(prosody.events, event, handler, priority); 107 return self:hook_object_event(prosody.events, event, handler, priority);
101 end 108 end