local policies = require "kong.plugins.response-ratelimiting.policies" local pairs = pairs local _M = {} local function log(premature, conf, identifier, current_timestamp, increments, usage) if premature then return end -- Increment metrics for all periods if the request goes through for k in pairs(usage) do if increments[k] and increments[k] ~= 0 then policies[conf.policy].increment(conf, identifier, k, current_timestamp, increments[k]) end end end function _M.execute(conf, identifier, current_timestamp, increments, usage) local ok, err = ngx.timer.at(0, log, conf, identifier, current_timestamp, increments, usage) if not ok then kong.log.err("failed to create timer: ", err) end end return _M