From 6313ae4e7eacb29b7bde588ce45b0dbae7d57bd3 Mon Sep 17 00:00:00 2001 From: Kim Alvefur Date: Mon, 18 May 2015 20:50:50 +0200 Subject: hostmanager: Metatable with __tostring on hosts --- core/hostmanager.lua | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'core/hostmanager.lua') diff --git a/core/hostmanager.lua b/core/hostmanager.lua index d7329cd2..046722b1 100644 --- a/core/hostmanager.lua +++ b/core/hostmanager.lua @@ -26,9 +26,23 @@ local core_route_stanza = _G.prosody.core_route_stanza; local pairs, select, rawget = pairs, select, rawget; local tostring, type = tostring, type; +local setmetatable = setmetatable; module "hostmanager" +local host_mt = { } +function host_mt:__tostring() + if self.type == "component" then + local typ = configmanager.get(self.host, "component_module"); + if typ == "component" then + return ("Component %q"):format(self.host); + end + return ("Component %q %q"):format(self.host, typ); + elseif self.type == "local" then + return ("VirtualHost %q"):format(self.host); + end +end + local hosts_loaded_once; local function load_enabled_hosts(config) @@ -76,6 +90,7 @@ function activate(host, host_config) send = host_send; modules = {}; }; + setmetatable(host_session, host_mt); if not host_config.component_module then -- host host_session.type = "local"; host_session.sessions = {}; -- cgit v1.2.3