Манипулирование куки с помощью openresty

Я делаю приложение, которое будет использовать между сайтом и рекламным сервисом. Мне нужно установить куки, которые я получаю от сервиса, и отправить их на него. И конечно же ответ пользователя. Это код:

local ck = require "resty.cookie"
local cookie, err = ck:new()

if not cookie then
  error(err)
end

function getCookie(name)
  local val, err = cookie:get(name)
  return val or ""
end

function request(url)
  local http = require ("resty.http")
  local httpc = http.new()
  -- 1 minute connect/read/write timeout
  httpc:set_timeout(60000)

 local res, err = httpc:request_uri(url, {
  headers = {
    Cookie = "cookie1=" .. getCookie('cookie1') ..
            ";cookie2=" .. getCookie('cookie2') ..
            ";cookie3=" .. getCookie('cookie3') ..
            ";cookie4=" .. getCookie('cookie4') ..
            ";cookie5=" .. getCookie('cookie5')
    }
   }
 )

 if not res then
   error(err)
 end

 return res
end

function sendRequest(url)
  local response = request(url)
  if response.status == 302 or response.status == 301 then
     response = request(response.headers.Location)
  end
  ngx.header["Set-Cookie"] = response.headers["Set-Cookie"]
  return response.body
end

ngx.say(sendRequest("https://someaddress"))
do return end

Почему я не вижу куки из сервиса в браузере? Разве код ngx.header["Set-Cookie"] = response.headers["Set-Cookie"] не работает? Что я делаю не так? Спасибо за помощь.

0 ответов

Другие вопросы по тегам