From: Jo-Philipp Wich Date: Sun, 5 Dec 2010 18:22:30 +0000 (+0000) Subject: libs/httpclient: fix cookie handling (#141) X-Git-Tag: 0.10.0~302 X-Git-Url: https://git.archive.openwrt.org/?p=project%2Fluci.git;a=commitdiff_plain;h=8027502b3595f7810d29abdf1adac6476461ddda libs/httpclient: fix cookie handling (#141) --- diff --git a/libs/httpclient/luasrc/httpclient.lua b/libs/httpclient/luasrc/httpclient.lua index 1f0e55b31..aacc79a5b 100644 --- a/libs/httpclient/luasrc/httpclient.lua +++ b/libs/httpclient/luasrc/httpclient.lua @@ -194,7 +194,7 @@ function request_raw(uri, options) local cdo = c.flags.domain local cpa = c.flags.path if (cdo == host or cdo == "."..host or host:sub(-#cdo) == cdo) - and (cpa == "/" or cpa .. "/" == path:sub(#cpa+1)) + and (cpa == path or cpa == "/" or cpa .. "/" == path:sub(#cpa+1)) and (not c.flags.secure or pr == "https") then message[#message+1] = "Cookie: " .. c.key .. "=" .. c.value @@ -242,9 +242,9 @@ function request_raw(uri, options) while line and line ~= "" do local key, val = line:match("^([%w-]+)%s?:%s?(.*)") if key and key ~= "Status" then - if type(response[key]) == "string" then + if type(response.headers[key]) == "string" then response.headers[key] = {response.headers[key], val} - elseif type(response[key]) == "table" then + elseif type(response.headers[key]) == "table" then response.headers[key][#response.headers[key]+1] = val else response.headers[key] = val