From e665bfe64a88a2e9fecc88382c78a93392e78901 Mon Sep 17 00:00:00 2001
From: Matthias Schiffer <mschiffer@universe-factory.net>
Date: Thu, 19 Jan 2017 16:39:34 +0100
Subject: [PATCH] gluon-core: don't depend on luci.ltn12

---
 .../luasrc/usr/lib/lua/gluon/site_config.lua  | 28 ++++++++++---------
 1 file changed, 15 insertions(+), 13 deletions(-)

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 4c0a2d221..7e27525d0 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
-- 
GitLab