@@ -224,7 +224,7 @@ func (b *BucketInfo) TokenAntiLeechModeOn() bool {
224
224
225
225
// GetBucketInfo 返回BucketInfo结构
226
226
func (m * BucketManager ) GetBucketInfo (bucketName string ) (bucketInfo BucketInfo , err error ) {
227
- reqURL := fmt .Sprintf ("%s/v2/bucketInfo?bucket=%s" , getUcHost ( m . Cfg . UseHTTPS ), bucketName )
227
+ reqURL := fmt .Sprintf ("%s/v2/bucketInfo?bucket=%s" , m . getUCAddress ( ), bucketName )
228
228
err = clientv2 .DoAndDecodeJsonResponse (m .getUCClient (), clientv2.RequestParams {
229
229
Context : nil ,
230
230
Method : clientv2 .RequestMethodPost ,
@@ -237,7 +237,7 @@ func (m *BucketManager) GetBucketInfo(bucketName string) (bucketInfo BucketInfo,
237
237
238
238
// SetRemark 设置空间备注信息
239
239
func (m * BucketManager ) SetRemark (bucketName , remark string ) (err error ) {
240
- reqURL := fmt .Sprintf ("%s/buckets/%s?remark" , getUcHost ( m . Cfg . UseHTTPS ), bucketName )
240
+ reqURL := fmt .Sprintf ("%s/buckets/%s?remark" , m . getUCAddress ( ), bucketName )
241
241
body := struct {
242
242
Remark string `json:"remark"`
243
243
}{Remark : remark }
@@ -253,7 +253,7 @@ func (m *BucketManager) SetRemark(bucketName, remark string) (err error) {
253
253
254
254
// BucketInfosForRegion 获取指定区域的该用户的所有bucketInfo信息
255
255
func (m * BucketManager ) BucketInfosInRegion (region RegionID , statistics bool ) (bucketInfos []BucketSummary , err error ) {
256
- reqURL := fmt .Sprintf ("%s/v2/bucketInfos?region=%s&fs=%t" , getUcHost ( m . Cfg . UseHTTPS ), string (region ), statistics )
256
+ reqURL := fmt .Sprintf ("%s/v2/bucketInfos?region=%s&fs=%t" , m . getUCAddress ( ), string (region ), statistics )
257
257
err = clientv2 .DoAndDecodeJsonResponse (m .getUCClient (), clientv2.RequestParams {
258
258
Context : nil ,
259
259
Method : clientv2 .RequestMethodPost ,
@@ -266,7 +266,7 @@ func (m *BucketManager) BucketInfosInRegion(region RegionID, statistics bool) (b
266
266
267
267
// SetReferAntiLeechMode 配置存储空间referer防盗链模式
268
268
func (m * BucketManager ) SetReferAntiLeechMode (bucketName string , refererAntiLeechConfig * ReferAntiLeechConfig ) (err error ) {
269
- reqURL := fmt .Sprintf ("%s/referAntiLeech?bucket=%s&%s" , getUcHost ( m . Cfg . UseHTTPS ), bucketName , refererAntiLeechConfig .AsQueryString ())
269
+ reqURL := fmt .Sprintf ("%s/referAntiLeech?bucket=%s&%s" , m . getUCAddress ( ), bucketName , refererAntiLeechConfig .AsQueryString ())
270
270
err = m .Client .CredentialedCall (context .Background (), m .Mac , auth .TokenQiniu , nil , "POST" , reqURL , nil )
271
271
return
272
272
}
@@ -322,7 +322,7 @@ func (m *BucketManager) AddBucketLifeCycleRule(bucketName string, lifeCycleRule
322
322
params ["to_archive_ir_after_days" ] = []string {strconv .Itoa (lifeCycleRule .ToArchiveIRAfterDays )}
323
323
params ["to_deep_archive_after_days" ] = []string {strconv .Itoa (lifeCycleRule .ToDeepArchiveAfterDays )}
324
324
325
- reqURL := getUcHost ( m . Cfg . UseHTTPS ) + "/rules/add"
325
+ reqURL := m . getUCAddress ( ) + "/rules/add"
326
326
return clientv2 .DoAndDecodeJsonResponse (m .getUCClient (), clientv2.RequestParams {
327
327
Context : nil ,
328
328
Method : clientv2 .RequestMethodPost ,
@@ -339,7 +339,7 @@ func (m *BucketManager) DelBucketLifeCycleRule(bucketName, ruleName string) (err
339
339
params ["bucket" ] = []string {bucketName }
340
340
params ["name" ] = []string {ruleName }
341
341
342
- reqURL := getUcHost ( m . Cfg . UseHTTPS ) + "/rules/delete"
342
+ reqURL := m . getUCAddress ( ) + "/rules/delete"
343
343
return clientv2 .DoAndDecodeJsonResponse (m .getUCClient (), clientv2.RequestParams {
344
344
Context : nil ,
345
345
Method : clientv2 .RequestMethodPost ,
@@ -362,7 +362,7 @@ func (m *BucketManager) UpdateBucketLifeCycleRule(bucketName string, rule *Bucke
362
362
params ["to_archive_ir_after_days" ] = []string {strconv .Itoa (rule .ToArchiveIRAfterDays )}
363
363
params ["to_deep_archive_after_days" ] = []string {strconv .Itoa (rule .ToDeepArchiveAfterDays )}
364
364
365
- reqURL := getUcHost ( m . Cfg . UseHTTPS ) + "/rules/update"
365
+ reqURL := m . getUCAddress ( ) + "/rules/update"
366
366
return clientv2 .DoAndDecodeJsonResponse (m .getUCClient (), clientv2.RequestParams {
367
367
Context : nil ,
368
368
Method : clientv2 .RequestMethodPost ,
@@ -374,7 +374,7 @@ func (m *BucketManager) UpdateBucketLifeCycleRule(bucketName string, rule *Bucke
374
374
375
375
// GetBucketLifeCycleRule 获取指定空间上设置的生命周期规则
376
376
func (m * BucketManager ) GetBucketLifeCycleRule (bucketName string ) (rules []BucketLifeCycleRule , err error ) {
377
- reqURL := getUcHost ( m . Cfg . UseHTTPS ) + "/rules/get?bucket=" + bucketName
377
+ reqURL := m . getUCAddress ( ) + "/rules/get?bucket=" + bucketName
378
378
err = clientv2 .DoAndDecodeJsonResponse (m .getUCClient (), clientv2.RequestParams {
379
379
Context : nil ,
380
380
Method : clientv2 .RequestMethodGet ,
@@ -439,7 +439,7 @@ func (r *BucketEventRule) Params(bucket string) map[string][]string {
439
439
// AddBucketEvent 增加存储空间事件通知规则
440
440
func (m * BucketManager ) AddBucketEvent (bucket string , rule * BucketEventRule ) (err error ) {
441
441
params := rule .Params (bucket )
442
- reqURL := getUcHost ( m . Cfg . UseHTTPS ) + "/events/add"
442
+ reqURL := m . getUCAddress ( ) + "/events/add"
443
443
return clientv2 .DoAndDecodeJsonResponse (m .getUCClient (), clientv2.RequestParams {
444
444
Context : nil ,
445
445
Method : clientv2 .RequestMethodPost ,
@@ -455,7 +455,7 @@ func (m *BucketManager) DelBucketEvent(bucket, ruleName string) (err error) {
455
455
params ["bucket" ] = []string {bucket }
456
456
params ["name" ] = []string {ruleName }
457
457
458
- reqURL := getUcHost ( m . Cfg . UseHTTPS ) + "/events/delete"
458
+ reqURL := m . getUCAddress ( ) + "/events/delete"
459
459
return clientv2 .DoAndDecodeJsonResponse (m .getUCClient (), clientv2.RequestParams {
460
460
Context : nil ,
461
461
Method : clientv2 .RequestMethodPost ,
@@ -468,7 +468,7 @@ func (m *BucketManager) DelBucketEvent(bucket, ruleName string) (err error) {
468
468
// UpdateBucketEnvent 更新指定存储空间的事件通知规则
469
469
func (m * BucketManager ) UpdateBucketEnvent (bucket string , rule * BucketEventRule ) (err error ) {
470
470
params := rule .Params (bucket )
471
- reqURL := getUcHost ( m . Cfg . UseHTTPS ) + "/events/update"
471
+ reqURL := m . getUCAddress ( ) + "/events/update"
472
472
return clientv2 .DoAndDecodeJsonResponse (m .getUCClient (), clientv2.RequestParams {
473
473
Context : nil ,
474
474
Method : clientv2 .RequestMethodPost ,
@@ -480,7 +480,7 @@ func (m *BucketManager) UpdateBucketEnvent(bucket string, rule *BucketEventRule)
480
480
481
481
// GetBucketEvent 获取指定存储空间的事件通知规则
482
482
func (m * BucketManager ) GetBucketEvent (bucket string ) (rule []BucketEventRule , err error ) {
483
- reqURL := getUcHost ( m . Cfg . UseHTTPS ) + "/events/get?bucket=" + bucket
483
+ reqURL := m . getUCAddress ( ) + "/events/get?bucket=" + bucket
484
484
err = clientv2 .DoAndDecodeJsonResponse (m .getUCClient (), clientv2.RequestParams {
485
485
Context : nil ,
486
486
Method : clientv2 .RequestMethodGet ,
@@ -522,7 +522,7 @@ type CorsRule struct {
522
522
523
523
// AddCorsRules 设置指定存储空间的跨域规则
524
524
func (m * BucketManager ) AddCorsRules (bucket string , corsRules []CorsRule ) (err error ) {
525
- reqURL := getUcHost ( m . Cfg . UseHTTPS ) + "/corsRules/set/" + bucket
525
+ reqURL := m . getUCAddress ( ) + "/corsRules/set/" + bucket
526
526
return clientv2 .DoAndDecodeJsonResponse (m .getUCClient (), clientv2.RequestParams {
527
527
Context : nil ,
528
528
Method : clientv2 .RequestMethodPost ,
@@ -534,7 +534,7 @@ func (m *BucketManager) AddCorsRules(bucket string, corsRules []CorsRule) (err e
534
534
535
535
// GetCorsRules 获取指定存储空间的跨域规则
536
536
func (m * BucketManager ) GetCorsRules (bucket string ) (corsRules []CorsRule , err error ) {
537
- reqURL := getUcHost ( m . Cfg . UseHTTPS ) + "/corsRules/get/" + bucket
537
+ reqURL := m . getUCAddress ( ) + "/corsRules/get/" + bucket
538
538
err = clientv2 .DoAndDecodeJsonResponse (m .getUCClient (), clientv2.RequestParams {
539
539
Context : nil ,
540
540
Method : clientv2 .RequestMethodGet ,
@@ -561,7 +561,7 @@ type BucketQuota struct {
561
561
// SetBucketQuota 设置存储空间的配额限制
562
562
// 配额限制主要是两块, 空间存储量的限制和空间文件数限制
563
563
func (m * BucketManager ) SetBucketQuota (bucket string , size , count int64 ) (err error ) {
564
- reqURL := fmt .Sprintf ("%s/setbucketquota/%s/size/%d/count/%d" , getUcHost ( m . Cfg . UseHTTPS ), bucket , size , count )
564
+ reqURL := fmt .Sprintf ("%s/setbucketquota/%s/size/%d/count/%d" , m . getUCAddress ( ), bucket , size , count )
565
565
return clientv2 .DoAndDecodeJsonResponse (m .getUCClient (), clientv2.RequestParams {
566
566
Context : nil ,
567
567
Method : clientv2 .RequestMethodPost ,
@@ -573,7 +573,7 @@ func (m *BucketManager) SetBucketQuota(bucket string, size, count int64) (err er
573
573
574
574
// GetBucketQuota 获取存储空间的配额信息
575
575
func (m * BucketManager ) GetBucketQuota (bucket string ) (quota BucketQuota , err error ) {
576
- reqURL := fmt .Sprintf ("%s/getbucketquota/%s" , getUcHost ( m . Cfg . UseHTTPS ), bucket )
576
+ reqURL := fmt .Sprintf ("%s/getbucketquota/%s" , m . getUCAddress ( ), bucket )
577
577
err = clientv2 .DoAndDecodeJsonResponse (m .getUCClient (), clientv2.RequestParams {
578
578
Context : nil ,
579
579
Method : clientv2 .RequestMethodPost ,
@@ -588,7 +588,7 @@ func (m *BucketManager) GetBucketQuota(bucket string) (quota BucketQuota, err er
588
588
// mode - 1 ==> 开启原图保护
589
589
// mode - 0 ==> 关闭原图保护
590
590
func (m * BucketManager ) SetBucketAccessStyle (bucket string , mode int ) error {
591
- reqURL := fmt .Sprintf ("%s/accessMode/%s/mode/%d" , getUcHost ( m . Cfg . UseHTTPS ), bucket , mode )
591
+ reqURL := fmt .Sprintf ("%s/accessMode/%s/mode/%d" , m . getUCAddress ( ), bucket , mode )
592
592
return clientv2 .DoAndDecodeJsonResponse (m .getUCClient (), clientv2.RequestParams {
593
593
Context : nil ,
594
594
Method : clientv2 .RequestMethodPost ,
@@ -611,7 +611,7 @@ func (m *BucketManager) TurnOffBucketProtected(bucket string) error {
611
611
// SetBucketMaxAge 设置指定存储空间的MaxAge响应头
612
612
// maxAge <= 0时,表示使用默认值31536000
613
613
func (m * BucketManager ) SetBucketMaxAge (bucket string , maxAge int64 ) error {
614
- reqURL := fmt .Sprintf ("%s/maxAge?bucket=%s&maxAge=%d" , getUcHost ( m . Cfg . UseHTTPS ), bucket , maxAge )
614
+ reqURL := fmt .Sprintf ("%s/maxAge?bucket=%s&maxAge=%d" , m . getUCAddress ( ), bucket , maxAge )
615
615
return clientv2 .DoAndDecodeJsonResponse (m .getUCClient (), clientv2.RequestParams {
616
616
Context : nil ,
617
617
Method : clientv2 .RequestMethodPost ,
@@ -626,7 +626,7 @@ func (m *BucketManager) SetBucketMaxAge(bucket string, maxAge int64) error {
626
626
// mode - 1 表示设置空间为私有空间, 私有空间访问需要鉴权
627
627
// mode - 0 表示设置空间为公开空间
628
628
func (m * BucketManager ) SetBucketAccessMode (bucket string , mode int ) error {
629
- reqURL := fmt .Sprintf ("%s/private?bucket=%s&private=%d" , getUcHost ( m . Cfg . UseHTTPS ), bucket , mode )
629
+ reqURL := fmt .Sprintf ("%s/private?bucket=%s&private=%d" , m . getUCAddress ( ), bucket , mode )
630
630
return clientv2 .DoAndDecodeJsonResponse (m .getUCClient (), clientv2.RequestParams {
631
631
Context : nil ,
632
632
Method : clientv2 .RequestMethodPost ,
@@ -657,7 +657,7 @@ func (m *BucketManager) TurnOffIndexPage(bucket string) error {
657
657
}
658
658
659
659
func (m * BucketManager ) setIndexPage (bucket string , noIndexPage int ) error {
660
- reqURL := fmt .Sprintf ("%s/noIndexPage?bucket=%s&noIndexPage=%d" , getUcHost ( m . Cfg . UseHTTPS ), bucket , noIndexPage )
660
+ reqURL := fmt .Sprintf ("%s/noIndexPage?bucket=%s&noIndexPage=%d" , m . getUCAddress ( ), bucket , noIndexPage )
661
661
return clientv2 .DoAndDecodeJsonResponse (m .getUCClient (), clientv2.RequestParams {
662
662
Context : nil ,
663
663
Method : clientv2 .RequestMethodPost ,
@@ -687,7 +687,7 @@ func (m *BucketManager) SetTagging(bucket string, tags map[string]string) error
687
687
tagging .Tags = append (tagging .Tags , BucketTag {Key : key , Value : value })
688
688
}
689
689
690
- reqURL := fmt .Sprintf ("%s/bucketTagging?bucket=%s" , getUcHost ( m . Cfg . UseHTTPS ), bucket )
690
+ reqURL := fmt .Sprintf ("%s/bucketTagging?bucket=%s" , m . getUCAddress ( ), bucket )
691
691
return clientv2 .DoAndDecodeJsonResponse (m .getUCClient (), clientv2.RequestParams {
692
692
Context : context .Background (),
693
693
Method : clientv2 .RequestMethodPut ,
@@ -699,7 +699,7 @@ func (m *BucketManager) SetTagging(bucket string, tags map[string]string) error
699
699
700
700
// ClearTagging 清空 Bucket 标签
701
701
func (m * BucketManager ) ClearTagging (bucket string ) error {
702
- reqURL := fmt .Sprintf ("%s/bucketTagging?bucket=%s" , getUcHost ( m . Cfg . UseHTTPS ), bucket )
702
+ reqURL := fmt .Sprintf ("%s/bucketTagging?bucket=%s" , m . getUCAddress ( ), bucket )
703
703
return clientv2 .DoAndDecodeJsonResponse (m .getUCClient (), clientv2.RequestParams {
704
704
Context : context .Background (),
705
705
Method : clientv2 .RequestMethodDelete ,
@@ -712,7 +712,7 @@ func (m *BucketManager) ClearTagging(bucket string) error {
712
712
// GetTagging 获取 Bucket 标签
713
713
func (m * BucketManager ) GetTagging (bucket string ) (tags map [string ]string , err error ) {
714
714
var tagging BucketTagging
715
- reqURL := fmt .Sprintf ("%s/bucketTagging?bucket=%s" , getUcHost ( m . Cfg . UseHTTPS ), bucket )
715
+ reqURL := fmt .Sprintf ("%s/bucketTagging?bucket=%s" , m . getUCAddress ( ), bucket )
716
716
err = clientv2 .DoAndDecodeJsonResponse (m .getUCClient (), clientv2.RequestParams {
717
717
Context : context .Background (),
718
718
Method : clientv2 .RequestMethodGet ,
@@ -734,7 +734,19 @@ func (m *BucketManager) getUCClient() clientv2.Client {
734
734
return getUCClient (ucClientConfig {
735
735
IsUcQueryApi : false ,
736
736
RetryMax : m .options .RetryMax ,
737
+ Hosts : m .Cfg .UCHosts ,
737
738
HostFreezeDuration : m .options .HostFreezeDuration ,
738
739
Client : m .Client ,
739
740
}, m .Mac )
740
741
}
742
+
743
+ func (m * BucketManager ) getUCAddress () string {
744
+ hosts := m .Cfg .UCHosts
745
+ if len (hosts ) == 0 {
746
+ hosts = getUcBackupHosts ()
747
+ }
748
+ if len (hosts ) == 0 {
749
+ return ""
750
+ }
751
+ return endpoint (m .Cfg .UseHTTPS , hosts [0 ])
752
+ }
0 commit comments