in appactive-gateway/nginx-plugin/etc/nginx/conf/lua/util/rule_checker.lua [71:98]
function _M.doCheckRule(ruleRawVersion, ruleKey, ruleRaw)
if ruleRaw == "{}" then
ngx.log(ngx.WARN, "[check] clean rule cache")
package.loaded[ruleKey] = nil
return nil
end
local ruleOldParsed = package.loaded[ruleKey]
if ruleRaw == nil then
return ruleOldParsed
end
if ruleOldParsed and ruleRawVersion ~= nil and ruleOldParsed.version == ruleRawVersion then
return ruleOldParsed
else
ngx.log(ngx.INFO, "[check] using new rule:".. ruleKey)
ruleRaw = string.gsub(ruleRaw, "%s", "")
local ruleNewParsed = doParseRule(ruleRaw)
if ruleNewParsed then
ngx.log(ngx.WARN, "[check] parsed new rule")
ruleNewParsed.version = ruleRawVersion
package.loaded[ruleKey] = ruleNewParsed
return ruleNewParsed
else
return ruleOldParsed
end
end
end