From 87e30fa12c1cf8803bb568c842a18ff02aa310d5 Mon Sep 17 00:00:00 2001 From: Steven Barth Date: Sat, 28 Jun 2008 22:17:24 +0000 Subject: [PATCH] * lib/sgi-cgi, lib/sgi-webuci: Enforce HTTP standards --- libs/sgi-cgi/luasrc/sgi/cgi.lua | 6 +++--- libs/sgi-webuci/luasrc/sgi/webuci.lua | 12 +++++++++--- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/libs/sgi-cgi/luasrc/sgi/cgi.lua b/libs/sgi-cgi/luasrc/sgi/cgi.lua index 5555e4a05..7f54e7021 100644 --- a/libs/sgi-cgi/luasrc/sgi/cgi.lua +++ b/libs/sgi-cgi/luasrc/sgi/cgi.lua @@ -49,11 +49,11 @@ function run() end if id == 1 then - io.write("Status: " .. tostring(data1) .. " " .. data2 .. "\n") + io.write("Status: " .. tostring(data1) .. " " .. data2 .. "\r\n") elseif id == 2 then - io.write(data1 .. ": " .. data2 .. "\n") + io.write(data1 .. ": " .. data2 .. "\r\n") elseif id == 3 then - io.write("\n") + io.write("\r\n") elseif id == 4 then io.write(data1) end diff --git a/libs/sgi-webuci/luasrc/sgi/webuci.lua b/libs/sgi-webuci/luasrc/sgi/webuci.lua index cf8cbcce2..b9033f370 100644 --- a/libs/sgi-webuci/luasrc/sgi/webuci.lua +++ b/libs/sgi-webuci/luasrc/sgi/webuci.lua @@ -39,6 +39,8 @@ function run(env, vars) r.message.params = vars local x = coroutine.create(luci.dispatcher.httpdispatch) + local status = "" + local headers = {} while coroutine.status(x) ~= "dead" do local res, id, data1, data2 = coroutine.resume(x, r) @@ -51,11 +53,15 @@ function run(env, vars) end if id == 1 then - io.write(env.SERVER_PROTOCOL .. " " .. tostring(data1) .. " " .. data2 .. "\n") + status = env.SERVER_PROTOCOL .. " " .. tostring(data1) .. " " .. data2 .. "\r\n" elseif id == 2 then - io.write(data1 .. ": " .. data2 .. "\n") + headers[data1] = data2 elseif id == 3 then - io.write("\n") + 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) end -- 2.11.0