function _M.doCheckRule()

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