Mercurial > prosody-hg
comparison core/hostmanager.lua @ 6706:60c692828cf6
hostmanager: Metatable with __tostring on hosts
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Mon, 18 May 2015 20:50:50 +0200 |
| parents | 469151b08065 |
| children | 3807af36d773 6236668da30a |
comparison
equal
deleted
inserted
replaced
| 6704:03afecdf2e3c | 6706:60c692828cf6 |
|---|---|
| 24 local incoming_s2s = _G.prosody.incoming_s2s; | 24 local incoming_s2s = _G.prosody.incoming_s2s; |
| 25 local core_route_stanza = _G.prosody.core_route_stanza; | 25 local core_route_stanza = _G.prosody.core_route_stanza; |
| 26 | 26 |
| 27 local pairs, select, rawget = pairs, select, rawget; | 27 local pairs, select, rawget = pairs, select, rawget; |
| 28 local tostring, type = tostring, type; | 28 local tostring, type = tostring, type; |
| 29 local setmetatable = setmetatable; | |
| 29 | 30 |
| 30 module "hostmanager" | 31 module "hostmanager" |
| 32 | |
| 33 local host_mt = { } | |
| 34 function host_mt:__tostring() | |
| 35 if self.type == "component" then | |
| 36 local typ = configmanager.get(self.host, "component_module"); | |
| 37 if typ == "component" then | |
| 38 return ("Component %q"):format(self.host); | |
| 39 end | |
| 40 return ("Component %q %q"):format(self.host, typ); | |
| 41 elseif self.type == "local" then | |
| 42 return ("VirtualHost %q"):format(self.host); | |
| 43 end | |
| 44 end | |
| 31 | 45 |
| 32 local hosts_loaded_once; | 46 local hosts_loaded_once; |
| 33 | 47 |
| 34 local function load_enabled_hosts(config) | 48 local function load_enabled_hosts(config) |
| 35 local defined_hosts = config or configmanager.getconfig(); | 49 local defined_hosts = config or configmanager.getconfig(); |
| 74 s2sout = {}; | 88 s2sout = {}; |
| 75 events = events_new(); | 89 events = events_new(); |
| 76 send = host_send; | 90 send = host_send; |
| 77 modules = {}; | 91 modules = {}; |
| 78 }; | 92 }; |
| 93 setmetatable(host_session, host_mt); | |
| 79 if not host_config.component_module then -- host | 94 if not host_config.component_module then -- host |
| 80 host_session.type = "local"; | 95 host_session.type = "local"; |
| 81 host_session.sessions = {}; | 96 host_session.sessions = {}; |
| 82 else -- component | 97 else -- component |
| 83 host_session.type = "component"; | 98 host_session.type = "component"; |
