... | ... |
@@ -14,11 +14,12 @@ class MultiPartUpload(object): |
14 | 14 |
MAX_CHUNK_SIZE_MB = 5120 # 5GB |
15 | 15 |
MAX_FILE_SIZE = 42949672960 # 5TB |
16 | 16 |
|
17 |
- def __init__(self, s3, file, uri): |
|
17 |
+ def __init__(self, s3, file, uri, headers_baseline = {}): |
|
18 | 18 |
self.s3 = s3 |
19 | 19 |
self.file = file |
20 | 20 |
self.uri = uri |
21 | 21 |
self.parts = {} |
22 |
+ self.headers_baseline = headers_baseline |
|
22 | 23 |
self.upload_id = self.initiate_multipart_upload() |
23 | 24 |
|
24 | 25 |
def initiate_multipart_upload(self): |
... | ... |
@@ -26,7 +27,7 @@ class MultiPartUpload(object): |
26 | 26 |
Begin a multipart upload |
27 | 27 |
http://docs.amazonwebservices.com/AmazonS3/latest/API/index.html?mpUploadInitiate.html |
28 | 28 |
""" |
29 |
- request = self.s3.create_request("OBJECT_POST", uri = self.uri, extra = "?uploads") |
|
29 |
+ request = self.s3.create_request("OBJECT_POST", uri = self.uri, headers = self.headers_baseline, extra = "?uploads") |
|
30 | 30 |
response = self.s3.send_request(request) |
31 | 31 |
data = response["data"] |
32 | 32 |
self.upload_id = getTextFromXml(data, "UploadId") |
... | ... |
@@ -747,10 +747,8 @@ class S3(object): |
747 | 747 |
return response |
748 | 748 |
|
749 | 749 |
def send_file_multipart(self, file, headers, uri, size): |
750 |
- upload = MultiPartUpload(self, file, uri) |
|
751 |
- |
|
752 | 750 |
chunk_size = self.config.multipart_chunk_size_mb * 1024 * 1024 |
753 |
- |
|
751 |
+ upload = MultiPartUpload(self, file, uri, headers) |
|
754 | 752 |
upload.upload_all_parts() |
755 | 753 |
response = upload.complete_multipart_upload() |
756 | 754 |
response["speed"] = 0 # XXX |