Software /
code /
prosody
Comparison
plugins/mod_admin_shell.lua @ 13117:7eb6244b4984
mod_admin_shell: Show internal URL where different from external
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Sun, 28 May 2023 22:33:45 +0200 |
parent | 13108:6cd768e6ac7c |
child | 13128:38582771b593 |
comparison
equal
deleted
inserted
replaced
13116:58e793288d9c | 13117:7eb6244b4984 |
---|---|
1834 def_env.http = {}; | 1834 def_env.http = {}; |
1835 | 1835 |
1836 function def_env.http:list(hosts) | 1836 function def_env.http:list(hosts) |
1837 local print = self.session.print; | 1837 local print = self.session.print; |
1838 hosts = array.collect(set.new({ not hosts and "*" or nil }) + get_hosts_set(hosts)):sort(_sort_hosts); | 1838 hosts = array.collect(set.new({ not hosts and "*" or nil }) + get_hosts_set(hosts)):sort(_sort_hosts); |
1839 local output = format_table({ | 1839 local output_simple = format_table({ |
1840 { title = "Module"; width = "1p" }; | 1840 { title = "Module"; width = "1p" }; |
1841 { title = "URL"; width = "3p" }; | 1841 { title = "External URL"; width = "6p" }; |
1842 }, self.session.width); | |
1843 local output_split = format_table({ | |
1844 { title = "Module"; width = "1p" }; | |
1845 { title = "External URL"; width = "3p" }; | |
1842 { title = "Internal URL"; width = "3p" }; | 1846 { title = "Internal URL"; width = "3p" }; |
1843 }, self.session.width); | 1847 }, self.session.width); |
1844 | 1848 |
1845 for _, host in ipairs(hosts) do | 1849 for _, host in ipairs(hosts) do |
1846 local http_apps = modulemanager.get_items("http-provider", host); | 1850 local http_apps = modulemanager.get_items("http-provider", host); |
1849 if host == "*" then | 1853 if host == "*" then |
1850 print("Global HTTP endpoints available on all hosts:"); | 1854 print("Global HTTP endpoints available on all hosts:"); |
1851 else | 1855 else |
1852 print("HTTP endpoints on "..host..(http_host and (" (using "..http_host.."):") or ":")); | 1856 print("HTTP endpoints on "..host..(http_host and (" (using "..http_host.."):") or ":")); |
1853 end | 1857 end |
1854 print(output()); | 1858 print(output_split()); |
1855 for _, provider in ipairs(http_apps) do | 1859 for _, provider in ipairs(http_apps) do |
1856 local mod = provider._provided_by; | 1860 local mod = provider._provided_by; |
1857 local external = module:context(host):http_url(provider.name, provider.default_path); | 1861 local external = module:context(host):http_url(provider.name, provider.default_path); |
1858 local internal = module:context(host):http_url(provider.name, provider.default_path, "internal"); | 1862 local internal = module:context(host):http_url(provider.name, provider.default_path, "internal"); |
1859 if external==internal then internal="" end | 1863 if external==internal then internal="" end |
1860 mod = mod and "mod_"..mod or "" | 1864 mod = mod and "mod_"..mod or "" |
1861 print(output{mod, external, internal}); | 1865 print((internal=="" and output_simple or output_split){mod, external, internal}); |
1862 end | 1866 end |
1863 print(""); | 1867 print(""); |
1864 end | 1868 end |
1865 end | 1869 end |
1866 | 1870 |