github.com/qiniu/go-sdk/v7@v7.27.0/storagev2/apis/api_set_bucket_remark.go (about) 1 // THIS FILE IS GENERATED BY api-generator, DO NOT EDIT DIRECTLY! 2 3 package apis 4 5 import ( 6 "context" 7 "encoding/json" 8 "net/http" 9 "strings" 10 "time" 11 12 auth "github.com/qiniu/go-sdk/v7/auth" 13 uplog "github.com/qiniu/go-sdk/v7/internal/uplog" 14 setbucketremark "github.com/qiniu/go-sdk/v7/storagev2/apis/set_bucket_remark" 15 errors "github.com/qiniu/go-sdk/v7/storagev2/errors" 16 httpclient "github.com/qiniu/go-sdk/v7/storagev2/http_client" 17 region "github.com/qiniu/go-sdk/v7/storagev2/region" 18 uptoken "github.com/qiniu/go-sdk/v7/storagev2/uptoken" 19 ) 20 21 type innerSetBucketRemarkRequest setbucketremark.Request 22 23 func (pp *innerSetBucketRemarkRequest) getBucketName(ctx context.Context) (string, error) { 24 return pp.Bucket, nil 25 } 26 27 func (path *innerSetBucketRemarkRequest) buildPath() ([]string, error) { 28 allSegments := make([]string, 0, 1) 29 if path.Bucket != "" { 30 allSegments = append(allSegments, path.Bucket) 31 } else { 32 return nil, errors.MissingRequiredFieldError{Name: "Bucket"} 33 } 34 return allSegments, nil 35 } 36 37 func (j *innerSetBucketRemarkRequest) MarshalJSON() ([]byte, error) { 38 return json.Marshal((*setbucketremark.Request)(j)) 39 } 40 41 func (j *innerSetBucketRemarkRequest) UnmarshalJSON(data []byte) error { 42 return json.Unmarshal(data, (*setbucketremark.Request)(j)) 43 } 44 45 type ( 46 SetBucketRemarkRequest = setbucketremark.Request 47 SetBucketRemarkResponse = setbucketremark.Response 48 ) 49 50 // 设置空间备注 51 func (storage *Storage) SetBucketRemark(ctx context.Context, request *SetBucketRemarkRequest, options *Options) (*SetBucketRemarkResponse, error) { 52 if options == nil { 53 options = &Options{} 54 } 55 innerRequest := (*innerSetBucketRemarkRequest)(request) 56 serviceNames := []region.ServiceName{region.ServiceBucket} 57 if innerRequest.Credentials == nil && storage.client.GetCredentials() == nil { 58 return nil, errors.MissingRequiredFieldError{Name: "Credentials"} 59 } 60 pathSegments := make([]string, 0, 2) 61 pathSegments = append(pathSegments, "buckets") 62 if segments, err := innerRequest.buildPath(); err != nil { 63 return nil, err 64 } else { 65 pathSegments = append(pathSegments, segments...) 66 } 67 path := "/" + strings.Join(pathSegments, "/") 68 rawQuery := "remark&" 69 headers := http.Header{} 70 body, err := httpclient.GetJsonRequestBody(&innerRequest) 71 if err != nil { 72 return nil, err 73 } 74 bucketName := options.OverwrittenBucketName 75 if bucketName == "" { 76 var err error 77 if bucketName, err = innerRequest.getBucketName(ctx); err != nil { 78 return nil, err 79 } 80 } 81 uplogInterceptor, err := uplog.NewRequestUplog("setBucketRemark", bucketName, "", func() (string, error) { 82 credentials := innerRequest.Credentials 83 if credentials == nil { 84 credentials = storage.client.GetCredentials() 85 } 86 putPolicy, err := uptoken.NewPutPolicy(bucketName, time.Now().Add(time.Hour)) 87 if err != nil { 88 return "", err 89 } 90 return uptoken.NewSigner(putPolicy, credentials).GetUpToken(ctx) 91 }) 92 if err != nil { 93 return nil, err 94 } 95 req := httpclient.Request{Method: "PUT", ServiceNames: serviceNames, Path: path, RawQuery: rawQuery, Endpoints: options.OverwrittenEndpoints, Region: options.OverwrittenRegion, Interceptors: []httpclient.Interceptor{uplogInterceptor}, Header: headers, AuthType: auth.TokenQiniu, Credentials: innerRequest.Credentials, RequestBody: body, OnRequestProgress: options.OnRequestProgress} 96 if options.OverwrittenEndpoints == nil && options.OverwrittenRegion == nil && storage.client.GetRegions() == nil { 97 bucketHosts := httpclient.DefaultBucketHosts() 98 if options.OverwrittenBucketHosts != nil { 99 req.Endpoints = options.OverwrittenBucketHosts 100 } else { 101 req.Endpoints = bucketHosts 102 } 103 } 104 resp, err := storage.client.Do(ctx, &req) 105 if err != nil { 106 return nil, err 107 } 108 return &SetBucketRemarkResponse{}, resp.Body.Close() 109 }