Mercurial > prosody-hg
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 |
