123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- <? mg.write("HTTP/1.0 200 OK") ?>
- <? mg.write("Content-Type: text/html") ?>
- <html><body>
- <p>This is another example of a Lua server page, served by
- <a href="https://github.com/civetweb/civetweb">CivetWeb web server</a>.
- </p><p>
- The following features are available:
- <ul>
- <?
- -- functions defubed in one Lua tag should still be available in the next one
- function print_if_available(tab, name)
- if tab then
- mg.write("<li>" .. name .. "</li>\n")
- end
- end
- function recurse(tab)
- mg.write("<ul>\n")
- for k,v in pairs(tab) do
- if type(v) == "table" then
- mg.write("<li>" .. tostring(k) .. ":</li>\n")
- recurse(v)
- else
- mg.write("<li>" .. tostring(k) .. " = " .. tostring(v) .. "</li>\n")
- end
- end
- mg.write("</ul>\n")
- end
- ?>
- <?
- -- Print Lua version and available libraries
- mg.write("<li>" .. _VERSION .. " with the following standard libraries</li>\n")
- mg.write("<ul>")
- libs = {"string", "math", "table", "io", "os", "bit32", "utf8", "package", "coroutine", "debug"};
- for _,n in ipairs(libs) do
- print_if_available(_G[n], n);
- end
- mg.write("</ul>\n")
- print_if_available(sqlite3, "sqlite3 binding")
- print_if_available(lfs,"lua file system")
- -- Print mg library
- libname = "mg"
- print_if_available(_G[libname], libname .. " library")
- recurse(_G[libname])
- -- Print connect function
- print_if_available(connect, "connect function")
- ?>
- </ul></p>
- <p> Today is <? mg.write(os.date("%A")) ?>
- <p>
- <?
- -- for k,v in pairs(_G) do mg.write(k, '\n') end
- if lfs then
- mg.write("Files in " .. lfs.currentdir())
- mg.write("\n<ul>\n")
- for f in lfs.dir(".") do
- mg.write("<li>" .. f .. "</li>\n")
- local at = lfs.attributes(f);
- recurse(at)
- end
- mg.write("</ul>\n")
- end
- ?>
- </p>
- </body></html>
|