diff options
author | Steven Barth <steven@midlink.org> | 2008-07-23 18:52:12 +0000 |
---|---|---|
committer | Steven Barth <steven@midlink.org> | 2008-07-23 18:52:12 +0000 |
commit | 22451345d859bdae5a8cc18464459e3a18406cb1 (patch) | |
tree | 6f4c0ca6e185f4501067a9cdb01d463ef5f88d3e /libs/sgi-webuci | |
parent | 59bef00fc3a9019733103661e67268f55c93ae17 (diff) |
Made SGIs even more standards compliant (respect EOF command from LuCI)
Diffstat (limited to 'libs/sgi-webuci')
-rw-r--r-- | libs/sgi-webuci/luasrc/sgi/webuci.lua | 28 |
1 files changed, 16 insertions, 12 deletions
diff --git a/libs/sgi-webuci/luasrc/sgi/webuci.lua b/libs/sgi-webuci/luasrc/sgi/webuci.lua index 3143fb1a3..e20dc5de0 100644 --- a/libs/sgi-webuci/luasrc/sgi/webuci.lua +++ b/libs/sgi-webuci/luasrc/sgi/webuci.lua @@ -41,6 +41,7 @@ function run(env, vars) local x = coroutine.create(luci.dispatcher.httpdispatch) local status = "" local headers = {} + local active = true while coroutine.status(x) ~= "dead" do local res, id, data1, data2 = coroutine.resume(x, r) @@ -52,19 +53,22 @@ function run(env, vars) break; end - if id == 1 then - status = env.SERVER_PROTOCOL .. " " .. tostring(data1) .. " " .. data2 .. "\r\n" - elseif id == 2 then - headers[data1] = data2 - elseif id == 3 then - io.write(status) - for k, v in pairs(headers) do - io.write(k .. ": " .. v .. "\r\n") + if active then + if id == 1 then + status = env.SERVER_PROTOCOL .. " " .. tostring(data1) .. " " .. data2 .. "\r\n" + elseif id == 2 then + headers[data1] = data2 + elseif id == 3 then + io.write(status) + for k, v in pairs(headers) do + io.write(k .. ": " .. v .. "\r\n") + end + io.write("\r\n") + elseif id == 4 then + io.write(data1) + elseif id == 5 then + active = false end - io.write("\r\n") - elseif id == 4 then - io.write(data1) end - end end |