@ -67,7 +67,6 @@ end
function dl . protos . http ( host , optPort , path , dest , url ) -- string string string number -- boolean -- Downloads *url* to *dest* via the internet card, if available.
if not component.list ( " internet " ) ( ) then
print ( " Internet card unavailable, falling back to proxy. " )
local proto , host , sPort , path = parseURL ( url )
local proxy = os.getenv ( proto : upper ( ) .. " _PROXY " )
if not proxy and fs.exists ( " /boot/cfg/ " .. proto .. " _proxy " ) then
@ -76,7 +75,7 @@ function dl.protos.http(host, optPort, path, dest, url) -- string string string
f : close ( )
end
if not proxy then error ( " No internet card or HTTP(S) proxy available " ) end
print ( " Proxy found: " .. proxy )
print ( " Internet card unavailable, falling back to proxy " .. proxy )
if optPort then host = string.format ( " %s:%i " , host , optPort ) end
return dl.wget ( string.format ( " %s/%s%s " , proxy , host , path ) , dest )
end
@ -88,7 +87,11 @@ function dl.protos.http(host, optPort, path, dest, url) -- string string string
repeat
coroutine.yield ( )
until R.finishConnect ( )
local code , message , headers = R.response ( )
local code , messsage , headers
repeat
coroutine.yield ( )
code , message , headers = R.response ( )
until code or message
if code > 299 or code < 200 then
return false , code , message
end
@ -97,7 +100,7 @@ function dl.protos.http(host, optPort, path, dest, url) -- string string string
io.write ( string.format ( " Saving %s to %s... \n " , url , dest ) )
repeat
coroutine.yield ( )
ns = R.read ( 2048 )
ns = R.read ( )
f : write ( ns or " " )
until not ns
f : close ( )