Fix urls with ports in parse_imageinfo and localize_image
Urls with ports like http://houston:5000 are quoted incorrectly in the
exception handling part of parse_imageinfo and localize_image and
become http://houston%255000, causing requests to connect to
hostname houston%255000 port 80 instead of to houston port 5000.
Fix this by only quoting the hostname and appending to port number
afterwards:
hostname = urlquote(parts.hostname.encode('utf8'))
if parts.port:
hostname = f'{hostname}:{parts.port}'
Fix uri_.strip in parse_imageinfo and localize_image
The original code looks like this:
If uri_ is
http://houston/api/v1/assets/
:it is stripping all
h
,t
,p
,:
and/
causing the leadingh
inhouston
and the trailing/
to be stripped.Change the code to specifically remove the leading
http://
instead:Fix urls with ports in parse_imageinfo and localize_image
Urls with ports like
http://houston:5000
are quoted incorrectly in the exception handling part ofparse_imageinfo
andlocalize_image
and becomehttp://houston%255000
, causingrequests
to connect to hostnamehouston%255000
port80
instead of tohouston
port5000
.Fix this by only quoting the hostname and appending to port number afterwards: