# HG changeset patch # User Matthew Wild # Date 1449770408 0 # Node ID 06696882d972d997d88d531eacdd971f28876276 # Parent 6aae14b079d0b57c4b3c026cf2c42cb9956e0c23 mod_admin_telnet: Add http:list() command to get info about current HTTP endpoints on the server diff -r 6aae14b079d0 -r 06696882d972 plugins/mod_admin_telnet.lua --- a/plugins/mod_admin_telnet.lua Thu Dec 10 17:58:52 2015 +0000 +++ b/plugins/mod_admin_telnet.lua Thu Dec 10 18:00:08 2015 +0000 @@ -282,6 +282,8 @@ -- Session environment -- -- Anything in def_env will be accessible within the session as a global variable +--luacheck: ignore 212/self + def_env.server = {}; function def_env.server:insane_reload() @@ -1093,6 +1095,33 @@ return true, "Cache:\n"..tostring(dns.cache()) end +def_env.http = {}; + +function def_env.http:list() + local print = self.session.print; + + for host in pairs(prosody.hosts) do + local http_apps = modulemanager.get_items("http-provider", host); + if #http_apps > 0 then + local http_host = module:context(host):get_option("http_host"); + print("HTTP endpoints on "..host..(http_host and (" (using "..http_host.."):") or ":")); + for _, provider in ipairs(http_apps) do + local url = module:context(host):http_url(provider.name); + print("", url); + end + print(""); + end + end + + local default_host = module:get_option("http_default_host"); + if not default_host then + print("HTTP requests to unknown hosts will return 404 Not Found"); + else + print("HTTP requests to unknown hosts will be handled by "..default_host); + end + return true; +end + ------------- function printbanner(session)