summaryrefslogtreecommitdiffhomepage
path: root/modules/rpc/luasrc/controller/rpc.lua
diff options
context:
space:
mode:
authorSteven Barth <steven@midlink.org>2008-09-05 15:38:53 +0000
committerSteven Barth <steven@midlink.org>2008-09-05 15:38:53 +0000
commit1358f954a78774ac989c06f973a17a40a781bad6 (patch)
treea9464057bb218a0a57e1b62a5ad6a3ba61b4af4a /modules/rpc/luasrc/controller/rpc.lua
parent94996dd63986a153b71e1aec2fd712c1d292781e (diff)
Fixed JSON-RPC API, added uvl API-Bindings
Diffstat (limited to 'modules/rpc/luasrc/controller/rpc.lua')
-rw-r--r--modules/rpc/luasrc/controller/rpc.lua46
1 files changed, 24 insertions, 22 deletions
diff --git a/modules/rpc/luasrc/controller/rpc.lua b/modules/rpc/luasrc/controller/rpc.lua
index 1aeea69b41..2a99075d2b 100644
--- a/modules/rpc/luasrc/controller/rpc.lua
+++ b/modules/rpc/luasrc/controller/rpc.lua
@@ -33,27 +33,17 @@ function index()
luci.http.status(403, "Forbidden")
end
- uci = entry({"rpc", "uci"}, call("rpc_uci"))
- uci.sysauth = "root"
- uci.sysauth_authenticator = authenticator
- uci.notemplate = true
+ local rpc = node("rpc")
+ rpc.sysauth = "root"
+ rpc.sysauth_authenticator = authenticator
+ rpc.notemplate = true
- fs = entry({"rpc", "fs"}, call("rpc_fs"))
- fs.sysauth = "root"
- fs.sysauth_authenticator = authenticator
- fs.notemplate = true
-
- sys = entry({"rpc", "sys"}, call("rpc_sys"))
- sys.sysauth = "root"
- sys.sysauth_authenticator = authenticator
- sys.notemplate = true
-
- ipkg = entry({"rpc", "ipkg"}, call("rpc_ipkg"))
- ipkg.sysauth = "root"
- ipkg.sysauth_authenticator = authenticator
- ipkg.notemplate = true
-
- entry({"rpc", "auth"}, call("rpc_auth")).notemplate = true
+ entry({"rpc", "uci"}, call("rpc_uci"))
+ entry({"rpc", "uvl"}, call("rpc_uvl"))
+ entry({"rpc", "fs"}, call("rpc_fs"))
+ entry({"rpc", "sys"}, call("rpc_sys"))
+ entry({"rpc", "ipkg"}, call("rpc_ipkg"))
+ entry({"rpc", "auth"}, call("rpc_auth")).sysauth = false
end
function rpc_auth()
@@ -63,8 +53,6 @@ function rpc_auth()
local sys = require "luci.sys"
local ltn12 = require "luci.ltn12"
- http.setfilehandler()
-
local loginstat
local server = {}
@@ -98,6 +86,20 @@ function rpc_uci()
ltn12.pump.all(jsonrpc.handle(uci, http.source()), http.write)
end
+function rpc_uvl()
+ if not pcall(require, "luci.uvl") then
+ luci.http.status(404, "Not Found")
+ return nil
+ end
+ local uvl = require "luci.controller.rpc.uvl"
+ local jsonrpc = require "luci.jsonrpc"
+ local http = require "luci.http"
+ local ltn12 = require "luci.ltn12"
+
+ http.prepare_content("application/json")
+ ltn12.pump.all(jsonrpc.handle(uvl, http.source()), http.write)
+end
+
function rpc_fs()
local util = require "luci.util"
local io = require "io"