fix(http): use the right protocol for proxies
Previously, if doing a request to http://website.example.org through https://proxy.example.org, luasocket wouldn't use TLS and vice-versa
This commit is contained in:
parent
13f2b3c663
commit
ebe3eeb18d
1 changed files with 8 additions and 3 deletions
11
src/http.lua
11
src/http.lua
|
@ -219,9 +219,11 @@ local function adjustproxy(reqt)
|
||||||
local proxy = reqt.proxy or _M.PROXY
|
local proxy = reqt.proxy or _M.PROXY
|
||||||
if proxy then
|
if proxy then
|
||||||
proxy = url.parse(proxy)
|
proxy = url.parse(proxy)
|
||||||
return proxy.host, proxy.port or 3128
|
proxy.port = proxy.port or 3128
|
||||||
|
proxy.create = SCHEMES[proxy.scheme].create(reqt)
|
||||||
|
return proxy.host, proxy.port, proxy.create
|
||||||
else
|
else
|
||||||
return reqt.host, reqt.port
|
return reqt.host, reqt.port, reqt.create
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -291,7 +293,10 @@ local function adjustrequest(reqt)
|
||||||
end
|
end
|
||||||
|
|
||||||
-- ajust host and port if there is a proxy
|
-- ajust host and port if there is a proxy
|
||||||
nreqt.host, nreqt.port = adjustproxy(nreqt)
|
local proxy_create
|
||||||
|
nreqt.host, nreqt.port, proxy_create = adjustproxy(nreqt)
|
||||||
|
if not reqt.create then nreqt.create = proxy_create end
|
||||||
|
|
||||||
return nreqt
|
return nreqt
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue