Fix the problem with the more modern SDK only allowing one outstanding

connection:send at a time. Long and short of it, don't use coroutine.yield
any more when serving content.
This commit is contained in:
Philip Gladstone
2015-11-22 13:39:03 -05:00
parent 067ffdf3e5
commit b4a2d02431
4 changed files with 36 additions and 16 deletions

View File

@@ -2,7 +2,6 @@ return function (connection, req, args)
connection:send("HTTP/1.0 200 OK\r\nContent-Type: text/html\r\nCache-Control: private, no-store\r\n\r\n")
connection:send('<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><title>Server File Listing</title></head>')
connection:send('<body>')
coroutine.yield()
connection:send('<h1>Server File Listing</h1>')
local remaining, used, total=file.fsinfo()
@@ -20,8 +19,6 @@ return function (connection, req, args)
if isHttpFile then
local url = string.match(name, ".*/(.*)")
connection:send(' <li><a href="' .. url .. '">' .. url .. "</a> (" .. size .. " bytes)</li>\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("</ul>\n")