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
        ';
    }
}