Modificar atributos de cookies:
Versión uno:
header_filter_by_lua '
local cookies = ngx.header.set_cookie
if cookies then
if type(cookies) == "table" then
for k,v in pairs(cookies) do
ngx.log(ngx.INFO, "k:"..k..",value:"..v)
cookies[k] = string.gsub(v, "test", "hello")
ngx.header.set_cookie = cookies
end
else
ngx.log(ngx.INFO, "cookie:"..cookies)
local cookiesStr = string.gsub(cookies, "test", "hello")
ngx.header.set_cookie = cookiesStr
end
end
';
Versión dos:
header_filter_by_lua '
local cookies = ngx.header["set-cookie"]
if cookies then
if type(cookies) == "table" then
for k,v in pairs(cookies) do
ngx.log(ngx.INFO, "k:"..k..",value:"..v)
cookies[k]=string.gsub(v, "test", "hello")
ngx.header.["set-cookie"] = cookies
end
else
ngx.log(ngx.INFO, "cookies:"..cookies)
local cookiesStr = string.gsub(cookies, "test", "hello")
ngx.header.["set-cookie"] = cookiesStr
end
end
';
Descripción:
1. El ejemplo anterior busca la cadena "prueba" en el atributo de la cookie en el encabezado de respuesta y la reemplaza con la cadena "hola" cuando la encuentra.
2. Hay varios atributos iguales en el encabezado de la respuesta: si tipo (cookies) == "tabla", entonces