@@ -3123,12 +3123,13 @@ function getV4Auth(params) {
3123
3123
*/
3124
3124
function getObjectUrl ( params , callback ) {
3125
3125
var self = this ;
3126
+ var useAccelerate = params . UseAccelerate === undefined ? self . options . UseAccelerate : params . UseAccelerate ;
3126
3127
var url = getUrl ( {
3127
3128
ForcePathStyle : self . options . ForcePathStyle ,
3128
3129
protocol : params . Protocol || self . options . Protocol ,
3129
3130
domain : params . Domain || self . options . Domain ,
3130
3131
bucket : params . Bucket ,
3131
- region : params . Region ,
3132
+ region : useAccelerate ? 'accelerate' : params . Region ,
3132
3133
object : params . Key ,
3133
3134
} ) ;
3134
3135
@@ -3148,7 +3149,7 @@ function getObjectUrl(params, callback) {
3148
3149
}
3149
3150
3150
3151
// 签名加上 Host,避免跨桶访问
3151
- var SignHost = getSignHost . call ( this , { Bucket : params . Bucket , Region : params . Region , Url : url } ) ;
3152
+ var SignHost = getSignHost . call ( this , { Bucket : params . Bucket , Region : params . Region , UseAccelerate : params . UseAccelerate , Url : url } ) ;
3152
3153
var AuthData = getAuthorizationAsync . call ( this , {
3153
3154
Action : ( ( params . Method || '' ) . toUpperCase ( ) === 'PUT' ? 'name/cos:PutObject' : 'name/cos:GetObject' ) ,
3154
3155
Bucket : params . Bucket || '' ,
@@ -3317,12 +3318,13 @@ function getUrl(params) {
3317
3318
3318
3319
var getSignHost = function ( opt ) {
3319
3320
if ( ! opt . Bucket || ! opt . Region ) return '' ;
3321
+ var useAccelerate = opt . UseAccelerate === undefined ? this . options . UseAccelerate : opt . UseAccelerate ;
3320
3322
var url = opt . Url || getUrl ( {
3321
3323
ForcePathStyle : this . options . ForcePathStyle ,
3322
3324
protocol : this . options . Protocol ,
3323
3325
domain : this . options . Domain ,
3324
3326
bucket : opt . Bucket ,
3325
- region : this . options . UseAccelerate ? 'accelerate' : opt . Region ,
3327
+ region : useAccelerate ? 'accelerate' : opt . Region ,
3326
3328
} ) ;
3327
3329
var urlHost = url . replace ( / ^ h t t p s ? : \/ \/ ( [ ^ / ] + ) ( \/ .* ) ? $ / , '$1' ) ;
3328
3330
var standardHostReg = new RegExp ( '^([a-z\\d-]+-\\d+\\.)?(cos|cosv6|ci|pic)\\.([a-z\\d-]+)\\.myqcloud\\.com$' ) ;
0 commit comments