cat /usr/local/kong/nginx-kong.conf
...
server {
location / {
body_filter_by_lua_block {
kong.body_filter()
}
}
}
...
kong.lua相关代码:
function Kong.body_filter()
for plugin, plugin_conf in plugins_iterator(singletons.loaded_plugins) do
plugin.handler:body_filter(plugin_conf)
end
core.body_filter.after()
end
kong/plugins/galileo/handler.lua相关代码如下:
function GalileoHandler:body_filter(conf)
GalileoHandler.super.body_filter(self)
if conf.log_bodies then
local chunk = ngx.arg[1]
local ctx = ngx.ctx
local res_body = ctx.galileo and ctx.galileo.res_body or ""
res_body = res_body .. (chunk or "")
ctx.galileo.res_body = res_body
end
end