return function (connection, args)
connection:send("HTTP/1.0 200 OK\r\nContent-Type: text/html\r\Cache-Control: private, no-store\r\n\r\n")
connection:send('
Server File Listing')
connection:send('')
connection:send('Server File Listing
')
connection:send("\n")
local l = file.list()
for name, size in pairs(l) do
local isHttpFile = string.match(name, "(http/)") ~= nil
local url = string.match(name, ".*/(.*)")
if isHttpFile then
connection:send(' - ' .. url .. " (" .. size .. " bytes)
\n")
-- this list could be very long, so we'll yield in order to avoid overflowing the send buffer.
coroutine.yield()
end
end
connection:send("
\n")
connection:send('')
end