openwrt: add jsonp support to local RESTful API
This commit is contained in:
parent
47e2268abc
commit
1a2468dc20
|
@ -66,15 +66,17 @@ function rest_sensor(id)
|
||||||
local version = uci:get("flukso", "main", "localVersion")
|
local version = uci:get("flukso", "main", "localVersion")
|
||||||
local param = decode(http.getenv("QUERY_STRING"))
|
local param = decode(http.getenv("QUERY_STRING"))
|
||||||
|
|
||||||
|
http.prepare_content("application/json")
|
||||||
|
|
||||||
if param.interval == "minute" and param.unit == "watt" and param.version == version then
|
if param.interval == "minute" and param.unit == "watt" and param.version == version then
|
||||||
http.prepare_content("application/json")
|
|
||||||
http.write("sensor:" .. (id[1] or 'nok') .. "\n" ..
|
|
||||||
"query string:" .. http.getenv("QUERY_STRING") .. "\n" ..
|
|
||||||
"contents:")
|
|
||||||
|
|
||||||
local source = ltn12.source.file(io.open(path .. "/" .. id[1], "r"))
|
local source = ltn12.source.file(io.open(path .. "/" .. id[1], "r"))
|
||||||
|
|
||||||
|
if param.jsonp_callback then
|
||||||
|
source = ltn12.source.cat(ltn12.source.string(param.jsonp_callback .. "("), source, ltn12.source.string(")"))
|
||||||
|
end
|
||||||
|
|
||||||
ltn12.pump.all(source, http.write)
|
ltn12.pump.all(source, http.write)
|
||||||
else
|
else
|
||||||
error400("Malformed query string: interval, unit and version query parameters are obligatory.")
|
error400("Malformed query string: interval, unit and version query parameters are required.")
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue