Skip to content

Commit 3f26c71

Browse files
committed
容错
1 parent fe32b3d commit 3f26c71

File tree

1 file changed

+17
-24
lines changed

1 file changed

+17
-24
lines changed

sdk/base.js

Lines changed: 17 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -69,9 +69,9 @@ function headBucket(params, callback) {
6969
AppId: params.AppId,
7070
method: 'HEAD',
7171
}, function (err, data) {
72-
var exist, auth;
72+
var exist, auth, statusCode;
7373
if (err) {
74-
var statusCode = err.statusCode;
74+
statusCode = err.statusCode;
7575
if (statusCode && statusCode === 404) {
7676
exist = false;
7777
auth = false;
@@ -82,15 +82,19 @@ function headBucket(params, callback) {
8282
return callback(err);
8383
}
8484
} else {
85+
statusCode = data.statusCode;
8586
exist = true;
8687
auth = true;
8788
}
88-
callback(null, {
89+
var result = {
8990
BucketExist: exist,
9091
BucketAuth: auth,
91-
statusCode: data.statusCode,
92-
headers: data.headers
93-
});
92+
statusCode: statusCode
93+
};
94+
if (data && data.headers) {
95+
result.headers = data.headers;
96+
}
97+
callback(null, result);
9498
});
9599
}
96100

@@ -763,7 +767,7 @@ function headObject(params, callback) {
763767
* @param {String} params.Bucket Bucket名称,必须
764768
* @param {String} params.Region 地域名称,必须
765769
* @param {String} params.Key 文件名称,必须
766-
* @param {String || WriteStream} params.Output 文件输出地址或者写流,非必须
770+
* @param {WriteStream} params.Output 文件写入流,非必须
767771
* @param {String} params.IfModifiedSince 当Object在指定时间后被修改,则返回对应Object元信息,否则返回304,非必须
768772
* @param {String} params.IfUnmodifiedSince 如果文件修改时间早于或等于指定时间,才返回文件内容。否则返回 412 (precondition failed),非必须
769773
* @param {String} params.IfMatch 当 ETag 与指定的内容一致,才返回文件。否则返回 412 (precondition failed),非必须
@@ -849,7 +853,6 @@ function getObject(params, callback) {
849853
* @param {String} params.Bucket Bucket名称,必须
850854
* @param {String} params.Region 地域名称,必须
851855
* @param {String} params.Key 文件名称,必须
852-
* @param {String} params.FilePath 上传文件的路径
853856
* @param {Buffer || ReadStream || File || Blob} params.Body 上传文件的内容或者流
854857
* @param {String} params.CacheControl RFC 2616 中定义的缓存策略,将作为 Object 元数据保存,非必须
855858
* @param {String} params.ContentDisposition RFC 2616 中定义的文件名称,将作为 Object 元数据保存,非必须
@@ -1005,9 +1008,7 @@ function _putObject(params, callback) {
10051008
* @param {String} params.Key object名称,必须
10061009
* @param {Function} callback 回调函数,必须
10071010
* @param {Object} err 请求失败的错误,如果请求成功,则为空。
1008-
* @param {Object} data 删除操作成功之后返回的数据,如果删除操作成功,则返回 success 为 true, 并且附带原先 object 的 url
1009-
* @param {Boolean} data.Success 删除操作是否成功,成功则为 true,否则为 false
1010-
* @param {Boolean} data.BucketNotFound 请求的 object 所在的 bucket 是否不存在,如果为 true,则说明该 bucket 不存在
1011+
* @param {Object} data 删除操作成功之后返回的数据
10111012
*/
10121013
function deleteObject(params, callback) {
10131014
submitRequest.call(this, {
@@ -1019,17 +1020,10 @@ function deleteObject(params, callback) {
10191020
}, function (err, data) {
10201021
if (err) {
10211022
var statusCode = err.statusCode;
1022-
if (statusCode && statusCode == 204) {
1023-
return callback(null, {
1024-
statusCode: data.statusCode,
1025-
headers: data.headers,
1026-
});
1027-
} else if (statusCode && statusCode == 404) {
1028-
return callback(null, {
1029-
BucketNotFound: true,
1030-
statusCode: data.statusCode,
1031-
headers: data.headers,
1032-
});
1023+
if (statusCode && statusCode === 204) {
1024+
return callback(null, {statusCode: statusCode});
1025+
} else if (statusCode && statusCode === 404) {
1026+
return callback(null, {BucketNotFound: true, statusCode: statusCode,});
10331027
} else {
10341028
return callback(err);
10351029
}
@@ -1038,7 +1032,6 @@ function deleteObject(params, callback) {
10381032
statusCode: data.statusCode,
10391033
headers: data.headers,
10401034
});
1041-
10421035
});
10431036
}
10441037

@@ -1313,6 +1306,7 @@ function deleteMultipleObject(params, callback) {
13131306
* @param {String} params.Bucket Bucket名称,必须
13141307
* @param {String} params.Region 地域名称,必须
13151308
* @param {String} params.Key object名称,必须
1309+
* @param {String} params.UploadId object名称,必须
13161310
* @param {String} params.CacheControl RFC 2616 中定义的缓存策略,将作为 Object 元数据保存,非必须
13171311
* @param {String} params.ContentDisposition RFC 2616 中定义的文件名称,将作为 Object 元数据保存 ,非必须
13181312
* @param {String} params.ContentEncoding RFC 2616 中定义的编码格式,将作为 Object 元数据保存,非必须
@@ -1326,7 +1320,6 @@ function deleteMultipleObject(params, callback) {
13261320
* @param {Function} callback 回调函数,必须
13271321
* @return {Object} err 请求失败的错误,如果请求成功,则为空。
13281322
* @return {Object} data 返回的数据
1329-
* @return {Object} data.InitiateMultipartUploadResult 初始化上传信息,包括 Bucket(Bucket名称), Key(文件名称) 和 UploadId (上传任务ID)
13301323
*/
13311324
function multipartInit(params, callback) {
13321325
var headers = {};

0 commit comments

Comments
 (0)