|
@ -932,14 +932,6 @@ class YoutubeDLHandler(compat_urllib_request.HTTPHandler): |
|
|
except zlib.error: |
|
|
except zlib.error: |
|
|
return zlib.decompress(data) |
|
|
return zlib.decompress(data) |
|
|
|
|
|
|
|
|
@staticmethod |
|
|
|
|
|
def addinfourl_wrapper(stream, headers, url, code): |
|
|
|
|
|
if hasattr(compat_urllib_request.addinfourl, 'getcode'): |
|
|
|
|
|
return compat_urllib_request.addinfourl(stream, headers, url, code) |
|
|
|
|
|
ret = compat_urllib_request.addinfourl(stream, headers, url) |
|
|
|
|
|
ret.code = code |
|
|
|
|
|
return ret |
|
|
|
|
|
|
|
|
|
|
|
def http_request(self, req): |
|
|
def http_request(self, req): |
|
|
# According to RFC 3986, URLs can not contain non-ASCII characters, however this is not |
|
|
# According to RFC 3986, URLs can not contain non-ASCII characters, however this is not |
|
|
# always respected by websites, some tend to give out URLs with non percent-encoded |
|
|
# always respected by websites, some tend to give out URLs with non percent-encoded |
|
@ -991,13 +983,13 @@ class YoutubeDLHandler(compat_urllib_request.HTTPHandler): |
|
|
break |
|
|
break |
|
|
else: |
|
|
else: |
|
|
raise original_ioerror |
|
|
raise original_ioerror |
|
|
resp = self.addinfourl_wrapper(uncompressed, old_resp.headers, old_resp.url, old_resp.code) |
|
|
|
|
|
|
|
|
resp = compat_urllib_request.addinfourl(uncompressed, old_resp.headers, old_resp.url, old_resp.code) |
|
|
resp.msg = old_resp.msg |
|
|
resp.msg = old_resp.msg |
|
|
del resp.headers['Content-encoding'] |
|
|
del resp.headers['Content-encoding'] |
|
|
# deflate |
|
|
# deflate |
|
|
if resp.headers.get('Content-encoding', '') == 'deflate': |
|
|
if resp.headers.get('Content-encoding', '') == 'deflate': |
|
|
gz = io.BytesIO(self.deflate(resp.read())) |
|
|
gz = io.BytesIO(self.deflate(resp.read())) |
|
|
resp = self.addinfourl_wrapper(gz, old_resp.headers, old_resp.url, old_resp.code) |
|
|
|
|
|
|
|
|
resp = compat_urllib_request.addinfourl(gz, old_resp.headers, old_resp.url, old_resp.code) |
|
|
resp.msg = old_resp.msg |
|
|
resp.msg = old_resp.msg |
|
|
del resp.headers['Content-encoding'] |
|
|
del resp.headers['Content-encoding'] |
|
|
# Percent-encode redirect URL of Location HTTP header to satisfy RFC 3986 (see |
|
|
# Percent-encode redirect URL of Location HTTP header to satisfy RFC 3986 (see |
|
|