Skip to content

Commit 0678ab7

Browse files
authored
Merge pull request #114 from livehigh/feat/uploadPart-headers
feat:uploadPart新增headers白名单
2 parents ca19ef2 + 62c6dd7 commit 0678ab7

File tree

6 files changed

+43
-11
lines changed

6 files changed

+43
-11
lines changed

dist/cos-js-sdk-v5.js

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2422,7 +2422,7 @@ base.init(COS, task);
24222422
advance.init(COS, task);
24232423

24242424
COS.getAuthorization = util.getAuth;
2425-
COS.version = '1.2.14';
2425+
COS.version = '1.2.15';
24262426

24272427
module.exports = COS;
24282428

@@ -7771,7 +7771,9 @@ function getObjectUrl(params, callback) {
77717771
Region: params.Region || '',
77727772
Method: params.Method || 'get',
77737773
Key: params.Key,
7774-
Expires: params.Expires
7774+
Expires: params.Expires,
7775+
Headers: params.Headers,
7776+
Query: params.Query
77757777
}, function (err, AuthData) {
77767778
if (!callback) return;
77777779
if (err) {
@@ -8589,9 +8591,10 @@ function sliceUploadFile(params, callback) {
85898591
// 上传过程中出现错误,返回错误
85908592
ep.on('error', function (err) {
85918593
if (!self._isRunningTask(TaskId)) return;
8592-
var _err = util.extend({
8593-
UploadId: params.UploadData.UploadId || ''
8594-
}, err);
8594+
var _err = {
8595+
UploadId: params.UploadData.UploadId || '',
8596+
err: err
8597+
};
85958598
return callback(_err);
85968599
});
85978600

@@ -8651,6 +8654,7 @@ function sliceUploadFile(params, callback) {
86518654
AsyncLimit: AsyncLimit,
86528655
ServerSideEncryption: ServerSideEncryption,
86538656
UploadData: UploadData,
8657+
Headers: params.Headers,
86548658
onProgress: onProgress
86558659
}, function (err, data) {
86568660
if (!self._isRunningTask(TaskId)) return;
@@ -9078,6 +9082,7 @@ function uploadSliceList(params, cb) {
90789082
var SliceCount = Math.ceil(FileSize / SliceSize);
90799083
var FinishSize = 0;
90809084
var ServerSideEncryption = params.ServerSideEncryption;
9085+
var Headers = params.Headers;
90819086
var needUploadSlices = util.filter(UploadData.PartList, function (SliceItem) {
90829087
if (SliceItem['Uploaded']) {
90839088
FinishSize += SliceItem['PartNumber'] >= SliceCount ? FileSize % SliceSize || SliceSize : SliceSize;
@@ -9102,6 +9107,7 @@ function uploadSliceList(params, cb) {
91029107
ServerSideEncryption: ServerSideEncryption,
91039108
Body: Body,
91049109
UploadData: UploadData,
9110+
Headers: Headers,
91059111
onProgress: function (data) {
91069112
FinishSize += data.loaded - preAddSize;
91079113
preAddSize = data.loaded;
@@ -9142,6 +9148,7 @@ function uploadSliceItem(params, callback) {
91429148
var SliceSize = params.SliceSize;
91439149
var ServerSideEncryption = params.ServerSideEncryption;
91449150
var UploadData = params.UploadData;
9151+
var Headers = params.Headers || {};
91459152
var ChunkRetryTimes = self.options.ChunkRetryTimes + 1;
91469153

91479154
var start = SliceSize * (PartNumber - 1);
@@ -9155,6 +9162,14 @@ function uploadSliceItem(params, callback) {
91559162
ContentLength = end - start;
91569163
}
91579164

9165+
var headersWhiteList = ['x-cos-traffic-limit', 'x-cos-mime-limit'];
9166+
var headers = {};
9167+
util.each(Headers, function (v, k) {
9168+
if (headersWhiteList.indexOf(k) > -1) {
9169+
headers[k] = v;
9170+
}
9171+
});
9172+
91589173
var PartItem = UploadData.PartList[PartNumber - 1];
91599174
Async.retry(ChunkRetryTimes, function (tryCallback) {
91609175
if (!self._isRunningTask(TaskId)) return;
@@ -9169,6 +9184,7 @@ function uploadSliceItem(params, callback) {
91699184
UploadId: UploadData.UploadId,
91709185
ServerSideEncryption: ServerSideEncryption,
91719186
Body: Body,
9187+
Headers: headers,
91729188
onProgress: params.onProgress
91739189
}, function (err, data) {
91749190
if (!self._isRunningTask(TaskId)) return;

dist/cos-js-sdk-v5.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "cos-js-sdk-v5",
3-
"version": "1.2.14",
3+
"version": "1.2.15",
44
"description": "JavaScript SDK for [腾讯云对象存储](https://cloud.tencent.com/product/cos)",
55
"main": "index.js",
66
"types": "index.d.ts",

src/advance.js

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,10 @@ function sliceUploadFile(params, callback) {
2424
// 上传过程中出现错误,返回错误
2525
ep.on('error', function (err) {
2626
if (!self._isRunningTask(TaskId)) return;
27-
var _err = util.extend({
28-
UploadId: params.UploadData.UploadId || ''
29-
}, err);
27+
var _err = {
28+
UploadId: params.UploadData.UploadId || '',
29+
err: err,
30+
};
3031
return callback(_err);
3132
});
3233

@@ -86,6 +87,7 @@ function sliceUploadFile(params, callback) {
8687
AsyncLimit: AsyncLimit,
8788
ServerSideEncryption: ServerSideEncryption,
8889
UploadData: UploadData,
90+
Headers: params.Headers,
8991
onProgress: onProgress
9092
}, function (err, data) {
9193
if (!self._isRunningTask(TaskId)) return;
@@ -512,6 +514,7 @@ function uploadSliceList(params, cb) {
512514
var SliceCount = Math.ceil(FileSize / SliceSize);
513515
var FinishSize = 0;
514516
var ServerSideEncryption = params.ServerSideEncryption;
517+
var Headers = params.Headers;
515518
var needUploadSlices = util.filter(UploadData.PartList, function (SliceItem) {
516519
if (SliceItem['Uploaded']) {
517520
FinishSize += SliceItem['PartNumber'] >= SliceCount ? (FileSize % SliceSize || SliceSize) : SliceSize;
@@ -536,6 +539,7 @@ function uploadSliceList(params, cb) {
536539
ServerSideEncryption: ServerSideEncryption,
537540
Body: Body,
538541
UploadData: UploadData,
542+
Headers: Headers,
539543
onProgress: function (data) {
540544
FinishSize += data.loaded - preAddSize;
541545
preAddSize = data.loaded;
@@ -576,6 +580,7 @@ function uploadSliceItem(params, callback) {
576580
var SliceSize = params.SliceSize;
577581
var ServerSideEncryption = params.ServerSideEncryption;
578582
var UploadData = params.UploadData;
583+
var Headers = params.Headers || {};
579584
var ChunkRetryTimes = self.options.ChunkRetryTimes + 1;
580585

581586
var start = SliceSize * (PartNumber - 1);
@@ -589,6 +594,14 @@ function uploadSliceItem(params, callback) {
589594
ContentLength = end - start;
590595
}
591596

597+
var headersWhiteList = ['x-cos-traffic-limit', 'x-cos-mime-limit'];
598+
var headers = {};
599+
util.each(Headers, function(v, k) {
600+
if (headersWhiteList.indexOf(k) > -1) {
601+
headers[k] = v;
602+
}
603+
});
604+
592605
var PartItem = UploadData.PartList[PartNumber - 1];
593606
Async.retry(ChunkRetryTimes, function (tryCallback) {
594607
if (!self._isRunningTask(TaskId)) return;
@@ -603,6 +616,7 @@ function uploadSliceItem(params, callback) {
603616
UploadId: UploadData.UploadId,
604617
ServerSideEncryption: ServerSideEncryption,
605618
Body: Body,
619+
Headers: headers,
606620
onProgress: params.onProgress,
607621
}, function (err, data) {
608622
if (!self._isRunningTask(TaskId)) return;

src/base.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2960,6 +2960,8 @@ function getObjectUrl(params, callback) {
29602960
Method: params.Method || 'get',
29612961
Key: params.Key,
29622962
Expires: params.Expires,
2963+
Headers: params.Headers,
2964+
Query: params.Query,
29632965
}, function (err, AuthData) {
29642966
if (!callback) return;
29652967
if (err) {

src/cos.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,6 @@ base.init(COS, task);
6464
advance.init(COS, task);
6565

6666
COS.getAuthorization = util.getAuth;
67-
COS.version = '1.2.14';
67+
COS.version = '1.2.15';
6868

6969
module.exports = COS;

0 commit comments

Comments
 (0)