Add native support for homepages
authorSteven Barth <steven@midlink.org>
Mon, 27 Jul 2009 12:09:46 +0000 (12:09 +0000)
committerSteven Barth <steven@midlink.org>
Mon, 27 Jul 2009 12:09:46 +0000 (12:09 +0000)
libs/lucid-http/luasrc/lucid/http/LuciWebPublisher.lua
libs/lucid-http/luasrc/lucid/http/server.lua
libs/lucid/hostfiles/etc/config/lucid
libs/lucid/root/etc/config/lucid

index f72b94f41a9e5243587e8ec595bccb5568f3013e..92dd7e2cbeaa8e8969796474b1e051d947c12440 100644 (file)
@@ -56,11 +56,18 @@ function factory(server, config)
                end
        end
 
+       local mypath
        if type(config.virtual) == "table" then
                for _, v in ipairs(config.virtual) do
+                       mypath = mypath or v
                        vhost:set_handler(v, handler)
                end
        else
+               mypath = config.virtual
                vhost:set_handler(config.virtual, handler)
        end
+
+       if config.home then
+               vhost.default = mypath
+       end
 end
\ No newline at end of file
index cb10813b9ee7aee499c3a75b2e2c92c0653b280c..eb6f6f54f8c500fecfb193d536fe034b4be1ef0a 100644 (file)
@@ -198,6 +198,10 @@ function VHost.process(self, request, ...)
        -- Call URI part
        request.env.PATH_INFO = uri
        
+       if self.default and uri == "/" then
+               return 302, {Location = self.default}
+       end
+
        for k, h in pairs(self.handlers) do
                if #k > hlen then
                        if uri == k or (uri:sub(1, #k) == k and uri:byte(#k+1) == sc) then
index 934faa10ed7016658df33e8352163cd25edb4a7f..22b7efad9c3c678add918c05431c0e86d9770e34 100644 (file)
@@ -19,6 +19,7 @@ config LuciWebPublisher luciweb
        option physical ''
        list virtual /luci
        option domain ''
+       option home 1
        list exec ':lo'
        list exec ':br-lan'
        list exec 'root'
@@ -71,4 +72,3 @@ config 'Redirector' 'splashredir'
         option 'virtual' '/'
         option 'physical' ':80/luci/splash'
 
-       
\ No newline at end of file
index c5a3f3d8eee4111491d891b1a5cdac66aff0bbe1..07c32c16c843790639a6f9401d800efb5a308e81 100644 (file)
@@ -15,6 +15,7 @@ config DirectoryPublisher webroot
 config LuciWebPublisher luciweb
        option name 'LuCI Webapplication'
        option physical ''
+       option home 1
        list virtual /luci
        list virtual /cgi-bin/luci
        option domain ''