Example - lua-resty-cookie
lua_package_path "/path/to/lua-resty-cookie/lib/?.lua;;";
server {
location /test {
content_by_lua '
local ck = require "resty.cookie"
local cookie, err = ck:new()
if not cookie then
ngx.log(ngx.ERR, err)
return
end
-- get single cookie
local field, err = cookie:get("lang")
if not field then
ngx.log(ngx.ERR, err)
return
end
ngx.say("lang", " => ", field)
-- get all cookies
local fields, err = cookie:get_all()
if not fields then
ngx.log(ngx.ERR, err)
return
end
for k, v in pairs(fields) do
ngx.say(k, " => ", v)
end
-- set one cookie
local ok, err = cookie:set({
key = "Name", value = "Bob", path = "/",
domain = "example.com", secure = true, httponly = true,
expires = "Wed, 09 Jun 2021 10:18:14 GMT", max_age = 50,
samesite = "Strict", extension = "a4334aebaec"
})
if not ok then
ngx.log(ngx.ERR, err)
return
end
-- set another cookie, both cookies will appear in HTTP response
local ok, err = cookie:set({
key = "Age", value = "20",
})
if not ok then
ngx.log(ngx.ERR, err)
return
end
';
}
}