aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xyoutube-dl10
1 files changed, 8 insertions, 2 deletions
diff --git a/youtube-dl b/youtube-dl
index 8bdde1704..1b20025e7 100755
--- a/youtube-dl
+++ b/youtube-dl
@@ -189,6 +189,12 @@ class YoutubeDLHandler(urllib2.HTTPHandler):
except zlib.error:
return zlib.decompress(data)
+ @staticmethod
+ def addinfourl_wrapper(stream, headers, url, code):
+ if hasattr(urllib2.addinfourl, 'getcode'):
+ return urllib2.addinfourl(stream, headers, url, code)
+ return urllib2.addinfourl(stream, headers, url)
+
def http_request(self, req):
for h in std_headers:
if h in req.headers:
@@ -205,12 +211,12 @@ class YoutubeDLHandler(urllib2.HTTPHandler):
# gzip
if resp.headers.get('Content-encoding', '') == 'gzip':
gz = gzip.GzipFile(fileobj=StringIO.StringIO(resp.read()), mode='r')
- resp = urllib2.addinfourl(gz, old_resp.headers, old_resp.url)
+ resp = self.addinfourl_wrapper(gz, old_resp.headers, old_resp.url, old_resp.code)
resp.msg = old_resp.msg
# deflate
if resp.headers.get('Content-encoding', '') == 'deflate':
gz = StringIO.StringIO(self.deflate(resp.read()))
- resp = urllib2.addinfourl(gz, old_resp.headers, old_resp.url)
+ resp = self.addinfourl_wrapper(gz, old_resp.headers, old_resp.url, old_resp.code)
resp.msg = old_resp.msg
return resp