@@ -3123,12 +3123,13 @@ function getV4Auth(params) {
31233123 */
31243124function getObjectUrl ( params , callback ) {
31253125 var self = this ;
3126+ var useAccelerate = params . UseAccelerate === undefined ? self . options . UseAccelerate : params . UseAccelerate ;
31263127 var url = getUrl ( {
31273128 ForcePathStyle : self . options . ForcePathStyle ,
31283129 protocol : params . Protocol || self . options . Protocol ,
31293130 domain : params . Domain || self . options . Domain ,
31303131 bucket : params . Bucket ,
3131- region : params . Region ,
3132+ region : useAccelerate ? 'accelerate' : params . Region ,
31323133 object : params . Key ,
31333134 } ) ;
31343135
@@ -3148,7 +3149,7 @@ function getObjectUrl(params, callback) {
31483149 }
31493150
31503151 // 签名加上 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 } ) ;
31523153 var AuthData = getAuthorizationAsync . call ( this , {
31533154 Action : ( ( params . Method || '' ) . toUpperCase ( ) === 'PUT' ? 'name/cos:PutObject' : 'name/cos:GetObject' ) ,
31543155 Bucket : params . Bucket || '' ,
@@ -3317,12 +3318,13 @@ function getUrl(params) {
33173318
33183319var getSignHost = function ( opt ) {
33193320 if ( ! opt . Bucket || ! opt . Region ) return '' ;
3321+ var useAccelerate = opt . UseAccelerate === undefined ? this . options . UseAccelerate : opt . UseAccelerate ;
33203322 var url = opt . Url || getUrl ( {
33213323 ForcePathStyle : this . options . ForcePathStyle ,
33223324 protocol : this . options . Protocol ,
33233325 domain : this . options . Domain ,
33243326 bucket : opt . Bucket ,
3325- region : this . options . UseAccelerate ? 'accelerate' : opt . Region ,
3327+ region : useAccelerate ? 'accelerate' : opt . Region ,
33263328 } ) ;
33273329 var urlHost = url . replace ( / ^ h t t p s ? : \/ \/ ( [ ^ / ] + ) ( \/ .* ) ? $ / , '$1' ) ;
33283330 var standardHostReg = new RegExp ( '^([a-z\\d-]+-\\d+\\.)?(cos|cosv6|ci|pic)\\.([a-z\\d-]+)\\.myqcloud\\.com$' ) ;
0 commit comments