Fixed JSON-RPC API, added uvl API-Bindings
This commit is contained in:
parent
94996dd639
commit
1358f954a7
2 changed files with 65 additions and 22 deletions
|
@ -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"
|
||||
|
|
41
modules/rpc/luasrc/controller/rpc/uvl.lua
Normal file
41
modules/rpc/luasrc/controller/rpc/uvl.lua
Normal file
|
@ -0,0 +1,41 @@
|
|||
--[[
|
||||
LuCI - Lua Configuration Interface
|
||||
|
||||
Copyright 2008 Steven Barth <steven@midlink.org>
|
||||
Copyright 2008 Jo-Philipp Wich <xm@leipzig.freifunk.net>
|
||||
|
||||
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
|
||||
|
||||
$Id$
|
||||
]]--
|
||||
|
||||
local uvl = require "luci.model.uvl".UVL()
|
||||
local table = require "table"
|
||||
|
||||
module "luci.controller.rpc.uvl"
|
||||
_M, _PACKAGE, _NAME = nil, nil, nil
|
||||
|
||||
|
||||
function get_scheme(...)
|
||||
return uvl:get_scheme(...)
|
||||
end
|
||||
|
||||
function validate(...)
|
||||
return uvl:validate(...)
|
||||
end
|
||||
|
||||
function validate_config(...)
|
||||
return uvl:validate_config(...)
|
||||
end
|
||||
|
||||
function validate_section(...)
|
||||
return uvl:validate_section(...)
|
||||
end
|
||||
|
||||
function validate_option(...)
|
||||
return uvl:validate_option(...)
|
||||
end
|
Loading…
Reference in a new issue