kong插件机制
![](https://img-blog.csdnimg.cn/20200529142002552.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzI4MTE5NzQx,size_16,color_FFFFFF,t_70)
代码实现
-- handler.lua
local BasePlugin = require "kong.plugins.base_plugin"
-- 调用模块
local zhttp = require "resty.http" #一个resty 包,需要下载到指定目录
local XngAuthHandler = BasePlugin:extend()
local timeout = 5000
local uri = "http://localhost:8500/auth/v1/api/valid"
XngAuthHandler.VERSION = "1.0.0"
XngAuthHandler.PRIORITY = 10 # 优先级
#在转发到你的服务之前,会走这个,所以在这里添加你的逻辑就可以
function XngAuthHandler:access(config)
local httpc = zhttp.new()
httpc:set_timeout(timeout)
local res, err = httpc:request_uri(uri, {
method = "POST",
headers = kong.request.get_headers()#获取请求的所有头部
}
)
httpc:set_keepal