@@ -322,7 +322,7 @@ function putBucketCors(params, callback) {
322
322
var CORSRules = CORSConfiguration [ 'CORSRules' ] || params [ 'CORSRules' ] || [ ] ;
323
323
CORSRules = util . clone ( util . isArray ( CORSRules ) ? CORSRules : [ CORSRules ] ) ;
324
324
util . each ( CORSRules , function ( rule ) {
325
- util . each ( [ 'AllowedOrigin' , 'AllowedHeader' , 'AllowedMethod' , 'ExposeHeader' ] , function ( key , k ) {
325
+ util . each ( [ 'AllowedOrigin' , 'AllowedHeader' , 'AllowedMethod' , 'ExposeHeader' ] , function ( key ) {
326
326
var sKey = key + 's' ;
327
327
var val = rule [ sKey ] || rule [ key ] || [ ] ;
328
328
delete rule [ sKey ] ;
@@ -390,7 +390,7 @@ function getBucketCors(params, callback) {
390
390
CORSRules = util . clone ( util . isArray ( CORSRules ) ? CORSRules : [ CORSRules ] ) ;
391
391
392
392
util . each ( CORSRules , function ( rule ) {
393
- util . each ( [ 'AllowedOrigin' , 'AllowedHeader' , 'AllowedMethod' , 'ExposeHeader' ] , function ( key , j ) {
393
+ util . each ( [ 'AllowedOrigin' , 'AllowedHeader' , 'AllowedMethod' , 'ExposeHeader' ] , function ( key ) {
394
394
var sKey = key + 's' ;
395
395
var val = rule [ sKey ] || rule [ key ] || [ ] ;
396
396
delete rule [ key ] ;
@@ -1645,7 +1645,6 @@ function putBucketAccelerate(params, callback) {
1645
1645
headers [ 'Content-MD5' ] = util . binaryBase64 ( util . md5 ( xml ) ) ;
1646
1646
1647
1647
submitRequest . call ( this , {
1648
- Interface : 'putBucketAccelerate' ,
1649
1648
Action : 'name/cos:PutBucketAccelerate' ,
1650
1649
method : 'PUT' ,
1651
1650
Bucket : params . Bucket ,
@@ -1664,7 +1663,6 @@ function putBucketAccelerate(params, callback) {
1664
1663
1665
1664
function getBucketAccelerate ( params , callback ) {
1666
1665
submitRequest . call ( this , {
1667
- Interface : 'getBucketAccelerate' ,
1668
1666
Action : 'name/cos:GetBucketAccelerate' ,
1669
1667
method : 'GET' ,
1670
1668
Bucket : params . Bucket ,
@@ -1712,9 +1710,7 @@ function headObject(params, callback) {
1712
1710
}
1713
1711
return callback ( err ) ;
1714
1712
}
1715
- if ( data . headers && data . headers . etag ) {
1716
- data . ETag = data . headers && data . headers . etag ;
1717
- }
1713
+ data . ETag = util . attr ( data . headers , 'etag' , '' ) ;
1718
1714
callback ( null , data ) ;
1719
1715
} ) ;
1720
1716
}
@@ -1879,10 +1875,8 @@ function getObject(params, callback) {
1879
1875
result . Body = data . body ;
1880
1876
}
1881
1877
}
1882
- if ( data . headers && data . headers . etag ) {
1883
- result . ETag = data . headers && data . headers . etag ;
1884
- }
1885
1878
util . extend ( result , {
1879
+ ETag : util . attr ( data . headers , 'etag' , '' ) ,
1886
1880
statusCode : data . statusCode ,
1887
1881
headers : data . headers ,
1888
1882
} ) ;
@@ -1930,7 +1924,7 @@ function putObject(params, callback) {
1930
1924
var FileSize = params . ContentLength ;
1931
1925
var onProgress = util . throttleOnProgress . call ( self , FileSize , params . onProgress ) ;
1932
1926
1933
- // 特殊处理 Cache-Control
1927
+ // 特殊处理 Cache-Control、Content-Type,避免代理更改这两个字段导致写入到 Object 属性里
1934
1928
var headers = params . Headers ;
1935
1929
if ( ! headers [ 'Cache-Control' ] && ! headers [ 'cache-control' ] ) headers [ 'Cache-Control' ] = '' ;
1936
1930
@@ -1998,9 +1992,7 @@ function deleteObject(params, callback) {
1998
1992
} , function ( err , data ) {
1999
1993
if ( err ) {
2000
1994
var statusCode = err . statusCode ;
2001
- if ( statusCode && statusCode === 204 ) {
2002
- return callback ( null , { statusCode : statusCode } ) ;
2003
- } else if ( statusCode && statusCode === 404 ) {
1995
+ if ( statusCode && statusCode === 404 ) {
2004
1996
return callback ( null , { BucketNotFound : true , statusCode : statusCode , } ) ;
2005
1997
} else {
2006
1998
return callback ( err ) ;
@@ -2168,8 +2160,8 @@ function optionsObject(params, callback) {
2168
2160
* @param {String } MetadataDirective 是否拷贝元数据,枚举值:Copy, Replaced,默认值Copy。假如标记为Copy,忽略Header中的用户元数据信息直接复制;假如标记为Replaced,按Header信息修改元数据。当目标路径和原路径一致,即用户试图修改元数据时,必须为Replaced
2169
2161
* @param {String } CopySourceIfModifiedSince 当Object在指定时间后被修改,则执行操作,否则返回412。可与x-cos-copy-source-If-None-Match一起使用,与其他条件联合使用返回冲突。
2170
2162
* @param {String } CopySourceIfUnmodifiedSince 当Object在指定时间后未被修改,则执行操作,否则返回412。可与x-cos-copy-source-If-Match一起使用,与其他条件联合使用返回冲突。
2171
- * @param {String } CopySourceIfMatch 当Object的Etag和给定一致时 ,则执行操作,否则返回412。可与x-cos-copy-source-If-Unmodified-Since一起使用,与其他条件联合使用返回冲突。
2172
- * @param {String } CopySourceIfNoneMatch 当Object的Etag和给定不一致时 ,则执行操作,否则返回412。可与x-cos-copy-source-If-Modified-Since一起使用,与其他条件联合使用返回冲突。
2163
+ * @param {String } CopySourceIfMatch 当Object的ETag和给定一致时 ,则执行操作,否则返回412。可与x-cos-copy-source-If-Unmodified-Since一起使用,与其他条件联合使用返回冲突。
2164
+ * @param {String } CopySourceIfNoneMatch 当Object的ETag和给定不一致时 ,则执行操作,否则返回412。可与x-cos-copy-source-If-Modified-Since一起使用,与其他条件联合使用返回冲突。
2173
2165
* @param {String } StorageClass 存储级别,枚举值:存储级别,枚举值:Standard, Standard_IA,Archive;默认值:Standard
2174
2166
* @param {String } CacheControl 指定所有缓存机制在整个请求/响应链中必须服从的指令。
2175
2167
* @param {String } ContentDisposition MIME 协议的扩展,MIME 协议指示 MIME 用户代理如何显示附加的文件
@@ -2370,7 +2362,6 @@ function putObjectTagging(params, callback) {
2370
2362
headers [ 'Content-MD5' ] = util . binaryBase64 ( util . md5 ( xml ) ) ;
2371
2363
2372
2364
submitRequest . call ( this , {
2373
- Interface : 'putObjectTagging' ,
2374
2365
Action : 'name/cos:PutObjectTagging' ,
2375
2366
method : 'PUT' ,
2376
2367
Bucket : params . Bucket ,
@@ -2405,7 +2396,6 @@ function putObjectTagging(params, callback) {
2405
2396
function getObjectTagging ( params , callback ) {
2406
2397
2407
2398
submitRequest . call ( this , {
2408
- Interface : 'getObjectTagging' ,
2409
2399
Action : 'name/cos:GetObjectTagging' ,
2410
2400
method : 'GET' ,
2411
2401
Key : params . Key ,
@@ -2453,7 +2443,6 @@ function getObjectTagging(params, callback) {
2453
2443
*/
2454
2444
function deleteObjectTagging ( params , callback ) {
2455
2445
submitRequest . call ( this , {
2456
- Interface : 'deleteObjectTagging' ,
2457
2446
Action : 'name/cos:DeleteObjectTagging' ,
2458
2447
method : 'DELETE' ,
2459
2448
Bucket : params . Bucket ,
@@ -2514,7 +2503,6 @@ function selectObjectContent(params, callback) {
2514
2503
} ) ;
2515
2504
}
2516
2505
submitRequest . call ( this , {
2517
- Interface : 'selectObjectContent' ,
2518
2506
Action : 'name/cos:GetObject' ,
2519
2507
method : 'POST' ,
2520
2508
Bucket : params . Bucket ,
@@ -2616,7 +2604,10 @@ function multipartInit(params, callback) {
2616
2604
2617
2605
// 特殊处理 Cache-Control
2618
2606
var headers = params . Headers ;
2607
+
2608
+ // 特殊处理 Cache-Control、Content-Type
2619
2609
if ( ! headers [ 'Cache-Control' ] && ! headers [ 'cache-control' ] ) headers [ 'Cache-Control' ] = '' ;
2610
+ if ( ! headers [ 'Content-Type' ] && ! headers [ 'content-type' ] ) headers [ 'Content-Type' ] = params . Body && params . Body . type || '' ;
2620
2611
2621
2612
submitRequest . call ( this , {
2622
2613
Action : 'name/cos:InitiateMultipartUpload' ,
@@ -2677,12 +2668,9 @@ function multipartUpload(params, callback) {
2677
2668
onProgress : params . onProgress ,
2678
2669
body : params . Body || null
2679
2670
} , function ( err , data ) {
2680
- if ( err ) {
2681
- return callback ( err ) ;
2682
- }
2683
- data [ 'headers' ] = data [ 'headers' ] || { } ;
2671
+ if ( err ) return callback ( err ) ;
2684
2672
callback ( null , {
2685
- ETag : data [ ' headers' ] [ ' etag'] || '' ,
2673
+ ETag : util . attr ( data . headers , ' etag', '' ) ,
2686
2674
statusCode : data . statusCode ,
2687
2675
headers : data . headers ,
2688
2676
} ) ;
@@ -2750,8 +2738,23 @@ function multipartComplete(params, callback) {
2750
2738
object : params . Key ,
2751
2739
isLocation : true ,
2752
2740
} ) ;
2753
- var CompleteMultipartUploadResult = data . CompleteMultipartUploadResult || { } ;
2754
- var result = util . extend ( CompleteMultipartUploadResult , {
2741
+ var res = data . CompleteMultipartUploadResult || { } ;
2742
+ if ( res . ProcessResults ) {
2743
+ if ( res && res . ProcessResults ) {
2744
+ res . UploadResult = {
2745
+ OriginalInfo : {
2746
+ Key : res . Key ,
2747
+ Location : url ,
2748
+ ETag : res . ETag ,
2749
+ ImageInfo : res . ImageInfo ,
2750
+ } ,
2751
+ ProcessResults : res . ProcessResults ,
2752
+ } ;
2753
+ delete res . ImageInfo ;
2754
+ delete res . ProcessResults ;
2755
+ }
2756
+ }
2757
+ var result = util . extend ( res , {
2755
2758
Location : url ,
2756
2759
statusCode : data . statusCode ,
2757
2760
headers : data . headers ,
@@ -3353,10 +3356,7 @@ function submitRequest(params, callback) {
3353
3356
ResourceKey : params . ResourceKey ,
3354
3357
Scope : params . Scope ,
3355
3358
} , function ( err , AuthData ) {
3356
- if ( err ) {
3357
- callback ( err ) ;
3358
- return ;
3359
- }
3359
+ if ( err ) return callback ( err ) ;
3360
3360
params . AuthData = AuthData ;
3361
3361
_submitRequest . call ( self , params , function ( err , data ) {
3362
3362
if ( err &&
@@ -3393,7 +3393,6 @@ function _submitRequest(params, callback) {
3393
3393
var method = params . method || 'GET' ;
3394
3394
var url = params . url ;
3395
3395
var body = params . body ;
3396
- var json = params . json ;
3397
3396
var rawBody = params . rawBody ;
3398
3397
3399
3398
// 处理 readStream and body
@@ -3422,7 +3421,6 @@ function _submitRequest(params, callback) {
3422
3421
headers : params . headers ,
3423
3422
qs : params . qs ,
3424
3423
body : body ,
3425
- json : json ,
3426
3424
} ;
3427
3425
3428
3426
// 获取签名
0 commit comments