Comparison

plugins/mod_admin_shell.lua @ 13108:6cd768e6ac7c

mod_admin_shell: Show internal URL in addition to external in http:list To help with configuring reverse proxies.
author Kim Alvefur <zash@zash.se>
date Wed, 24 May 2023 14:49:29 +0200
parent 13105:7d9e26003b05
child 13117:7eb6244b4984
comparison
equal deleted inserted replaced
13107:9c4dc1e6d2c9 13108:6cd768e6ac7c
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 = format_table({
1840 { title = "Module", width = "20%" }, 1840 { title = "Module"; width = "1p" };
1841 { title = "URL", width = "80%" }, 1841 { title = "URL"; width = "3p" };
1842 }, self.session.width); 1842 { title = "Internal URL"; width = "3p" };
1843 }, self.session.width);
1843 1844
1844 for _, host in ipairs(hosts) do 1845 for _, host in ipairs(hosts) do
1845 local http_apps = modulemanager.get_items("http-provider", host); 1846 local http_apps = modulemanager.get_items("http-provider", host);
1846 if #http_apps > 0 then 1847 if #http_apps > 0 then
1847 local http_host = module:context(host):get_option_string("http_host"); 1848 local http_host = module:context(host):get_option_string("http_host");
1851 print("HTTP endpoints on "..host..(http_host and (" (using "..http_host.."):") or ":")); 1852 print("HTTP endpoints on "..host..(http_host and (" (using "..http_host.."):") or ":"));
1852 end 1853 end
1853 print(output()); 1854 print(output());
1854 for _, provider in ipairs(http_apps) do 1855 for _, provider in ipairs(http_apps) do
1855 local mod = provider._provided_by; 1856 local mod = provider._provided_by;
1856 local url = module:context(host):http_url(provider.name, provider.default_path); 1857 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");
1859 if external==internal then internal="" end
1857 mod = mod and "mod_"..mod or "" 1860 mod = mod and "mod_"..mod or ""
1858 print(output{mod, url}); 1861 print(output{mod, external, internal});
1859 end 1862 end
1860 print(""); 1863 print("");
1861 end 1864 end
1862 end 1865 end
1863 1866