-- This is my cgilua/config.lua local function open(filename) local name, h, e for _,suffix in ipairs{"/index", "/.", ""} do name = filename .. suffix h, e = io.open(name) if h then break end end if name == "/." then h:close() h, e = nil, "Permission denied" end return h, e end require "cgilua.slslpp" local function include(filename) local fh = assert(open(filename)) local s = fh:read"*a" fh:close() filename = "@//" .. filename if string.find(s, "<%?lua") then assert(loadstring(cgilua.lp.translate(s), filename))() else cgilua.slslpp.preprocess(s, filename)(cgilua.put) end end -- allow CGI programs to load modules relative to their cwd. package.path = package.path .. ";?.lua" -- We don't care about file extensions here. cgilua.addscripthandler("", include) --cgilua.lp.setoutfunc ("SAPI.Response.write") cgilua.lp.setoutfunc("cgilua.put") -- Override the built-in contentheader function function cgilua.contentheader(type, subtype) if subtype then type = type.."/"..subtype end SAPI.Response.contenttype(type) end