appactive-gateway/nginx-plugin/etc/nginx/conf/lua/set_user_unit.lua (20 lines of code) (raw):
local kv = require("kv.kv_util")
local ruleChecker = require("util.rule_checker")
local unitFilter = require("util.unit_filter")
local function doMain()
local ruleKey = ngx.arg[1]
local unitEnabled = ngx.arg[2]
local ruleRaw = kv.get(ruleKey)
local ruleRawVersion = kv.get(ruleKey ..kv.versionKey)
local ruleParsed = ruleChecker.doCheckRule(ruleRawVersion, ruleKey, ruleRaw)
local unit = unitFilter.getUnitForRequest(ruleParsed, unitEnabled == '1')
return unit
end
-- main
local ok, res = pcall(doMain)
if not ok then
ngx.log(ngx.ERR, "[unit] calc error "..res);
return -1
else
ngx.log(ngx.INFO, "[unit] calc "..res);
return res
end