Skip to content

Commit c01292c

Browse files
authored
Feat/get object support use accelerate (#145)
* feat:getObjectUrl支持全球加速参数
1 parent 213f98b commit c01292c

File tree

2 files changed

+7
-3
lines changed

2 files changed

+7
-3
lines changed

index.d.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1884,6 +1884,8 @@ Bulk:批量模式,恢复时间为24 - 48小时。 */
18841884
QueryString?: string,
18851885
/** 签名几秒后失效,默认为900秒 */
18861886
Expires?: number,
1887+
/** 是否使用全球加速 */
1888+
UseAccelerate?: boolean,
18871889
}
18881890
/** getObjectUrl 接口返回值 */
18891891
interface GetObjectUrlResult {

sdk/base.js

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3123,12 +3123,13 @@ function getV4Auth(params) {
31233123
*/
31243124
function 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

33183319
var 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(/^https?:\/\/([^/]+)(\/.*)?$/, '$1');
33283330
var standardHostReg = new RegExp('^([a-z\\d-]+-\\d+\\.)?(cos|cosv6|ci|pic)\\.([a-z\\d-]+)\\.myqcloud\\.com$');

0 commit comments

Comments
 (0)