diff --git a/package/gluon-core/luasrc/usr/lib/lua/gluon/site_config.lua b/package/gluon-core/luasrc/usr/lib/lua/gluon/site_config.lua index 4c0a2d221b848aa7ccfa6b45ce65f2be06d21098..7e27525d095226bffb39057696f4f273f9bab7a9 100644 --- a/package/gluon-core/luasrc/usr/lib/lua/gluon/site_config.lua +++ b/package/gluon-core/luasrc/usr/lib/lua/gluon/site_config.lua @@ -1,27 +1,29 @@ local function get_site_config() - local config = '/lib/gluon/site.json' + local config = '/lib/gluon/site.json' - local json = require 'luci.jsonc' - local ltn12 = require 'luci.ltn12' + local json = require 'luci.jsonc' + local decoder = json.new() + local sink = decoder:sink() - local file = assert(io.open(config)) + local file = assert(io.open(config)) - local decoder = json.new() - ltn12.pump.all(ltn12.source.file(file), decoder:sink()) + while true do + local chunk = file:read(2048) + if not chunk or chunk:len() == 0 then break end + sink(chunk) + end - file:close() + file:close() - return assert(decoder:get()) + return assert(decoder:get()) end local setmetatable = setmetatable module 'gluon.site_config' -setmetatable(_M, - { - __index = get_site_config(), - } -) +setmetatable(_M, { + __index = get_site_config(), +}) return _M