[downloader:http] reorder HTTP header sources
so that any header can be overwritten by a user, except Range
This commit is contained in:
@@ -98,20 +98,21 @@ class HttpDownloader(DownloaderBase):
|
|||||||
time.sleep(tries)
|
time.sleep(tries)
|
||||||
|
|
||||||
tries += 1
|
tries += 1
|
||||||
headers = {"Accept": "*/*"}
|
|
||||||
file_header = None
|
file_header = None
|
||||||
|
|
||||||
# check for .part file
|
# collect HTTP headers
|
||||||
file_size = pathfmt.part_size()
|
headers = {"Accept": "*/*"}
|
||||||
if file_size:
|
# file-specific headers
|
||||||
headers["Range"] = "bytes={}-".format(file_size)
|
|
||||||
# general headers
|
|
||||||
if self.headers:
|
|
||||||
headers.update(self.headers)
|
|
||||||
# file-specific headers
|
|
||||||
extra = kwdict.get("_http_headers")
|
extra = kwdict.get("_http_headers")
|
||||||
if extra:
|
if extra:
|
||||||
headers.update(extra)
|
headers.update(extra)
|
||||||
|
# general headers
|
||||||
|
if self.headers:
|
||||||
|
headers.update(self.headers)
|
||||||
|
# partial content
|
||||||
|
file_size = pathfmt.part_size()
|
||||||
|
if file_size:
|
||||||
|
headers["Range"] = "bytes={}-".format(file_size)
|
||||||
|
|
||||||
# connect to (remote) source
|
# connect to (remote) source
|
||||||
try:
|
try:
|
||||||
|
|||||||
Reference in New Issue
Block a user