Merge pull request #96 from chastabor/master

Generate headers before proxy changes host and port
This commit is contained in:
Diego Nehab 2015-08-24 16:41:24 -03:00
commit 46d7e75f3e

View File

@ -221,6 +221,15 @@ local function adjustheaders(reqt)
lower["authorization"] = lower["authorization"] =
"Basic " .. (mime.b64(reqt.user .. ":" .. reqt.password)) "Basic " .. (mime.b64(reqt.user .. ":" .. reqt.password))
end end
-- if we have proxy authentication information, pass it along
local proxy = reqt.proxy or _M.PROXY
if proxy then
proxy = url.parse(proxy)
if proxy.user and proxy.password then
lower["proxy-authorization"] =
"Basic " .. (mime.b64(proxy.user .. ":" .. proxy.password))
end
end
-- override with user headers -- override with user headers
for i,v in base.pairs(reqt.headers or lower) do for i,v in base.pairs(reqt.headers or lower) do
lower[string.lower(i)] = v lower[string.lower(i)] = v
@ -246,10 +255,10 @@ local function adjustrequest(reqt)
"invalid host '" .. base.tostring(nreqt.host) .. "'") "invalid host '" .. base.tostring(nreqt.host) .. "'")
-- compute uri if user hasn't overriden -- compute uri if user hasn't overriden
nreqt.uri = reqt.uri or adjusturi(nreqt) nreqt.uri = reqt.uri or adjusturi(nreqt)
-- ajust host and port if there is a proxy
nreqt.host, nreqt.port = adjustproxy(nreqt)
-- adjust headers in request -- adjust headers in request
nreqt.headers = adjustheaders(nreqt) nreqt.headers = adjustheaders(nreqt)
-- ajust host and port if there is a proxy
nreqt.host, nreqt.port = adjustproxy(nreqt)
return nreqt return nreqt
end end