From 12376262d2ae7814f13596fd1cf24def4875a836 Mon Sep 17 00:00:00 2001 From: Hisham Muhammad Date: Thu, 21 Apr 2011 20:03:30 -0300 Subject: Support redirects from https to http, fixes issue with bitbucket.org URLs. --- src/luarocks/fs/lua.lua | 22 ++++++---------------- 1 file changed, 6 insertions(+), 16 deletions(-) diff --git a/src/luarocks/fs/lua.lua b/src/luarocks/fs/lua.lua index 72e7b022..0a748b0e 100644 --- a/src/luarocks/fs/lua.lua +++ b/src/luarocks/fs/lua.lua @@ -485,18 +485,10 @@ local redirect_protocols = { } local function http_request(url, http, loop_control) - local proxy = cfg.proxy - local url_arg, proxy_result - if proxy then - proxy_result = {} - url_arg = { url = url, proxy = proxy, sink = ltn12.sink.table(proxy_result) } - else - url_arg = url - end - local res, status, headers, line = http.request(url_arg) - local content, err + local result = {} + local res, status, headers, err = http.request { url = url, proxy = cfg.proxy, redirect = false, sink = ltn12.sink.table(result) } if not res then - err = status + return nil, status elseif status == 301 or status == 302 then local location = headers.location if location then @@ -513,14 +505,12 @@ local function http_request(url, http, loop_control) return nil, "URL redirected to unsupported protocol - install luasec to get HTTPS support." end end - err = line + return nil, err elseif status ~= 200 then - err = line + return nil, err else - if proxy_result then res = table.concat(proxy_result) end - content = res + return table.concat(result) end - return content, err end --- Download a remote file. -- cgit v1.2.3-55-g6feb