diff options
author | Steven Barth <steven@midlink.org> | 2008-09-05 15:38:53 +0000 |
---|---|---|
committer | Steven Barth <steven@midlink.org> | 2008-09-05 15:38:53 +0000 |
commit | 1358f954a78774ac989c06f973a17a40a781bad6 (patch) | |
tree | a9464057bb218a0a57e1b62a5ad6a3ba61b4af4a /modules/rpc/luasrc/controller/rpc.lua | |
parent | 94996dd63986a153b71e1aec2fd712c1d292781e (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.lua | 46 |
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" |