diff options
Diffstat (limited to 'libs/sgi-cgi/luasrc/sgi')
-rw-r--r-- | libs/sgi-cgi/luasrc/sgi/cgi.lua | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/libs/sgi-cgi/luasrc/sgi/cgi.lua b/libs/sgi-cgi/luasrc/sgi/cgi.lua new file mode 100644 index 000000000..7abb1ef78 --- /dev/null +++ b/libs/sgi-cgi/luasrc/sgi/cgi.lua @@ -0,0 +1,57 @@ +--[[ +LuCI - SGI-Module for CGI + +Description: +Server Gateway Interface for CGI + +FileId: +$Id$ + +License: +Copyright 2008 Steven Barth <steven@midlink.org> + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +]]-- +module("luci.sgi.cgi", package.seeall) +require("luci.http") +require("luci.sys") +require("luci.dispatcher") + +function run() + local r = luci.http.Request(luci.sys.getenv(), io.stdin, io.stderr) + + local x = coroutine.create(luci.dispatcher.httpdispatch) + + while coroutine.status(x) ~= "dead" do + local res, id, data1, data2 = coroutine.resume(x, r) + + if not res then + print("Status: 500 Internal Server Error") + print("Content-Type: text/plain\n") + print(id) + break; + end + + if id == 1 then + io.write("Status: " .. tostring(data1) .. " " .. data2 .. "\n") + elseif id == 2 then + io.write(data1 .. ": " .. data2 .. "\n") + elseif id == 3 then + io.write("\n") + elseif id == 4 then + io.write(data1) + end + + end +end |