Updated on 2022-02-10 GMT+08:00

PUT Bucket cors

API Description

You can use this API to set CORS rules for a bucket to allow client browsers to send cross-origin requests.

Method Definition

func (obsClient ObsClient) SetBucketCors(input *SetBucketCorsInput) (output *BaseModel, err error)

Method Definition If a Signed URL Is Used

func (obsClient ObsClient) SetBucketCorsWithSignedUrl(signedUrl string, actualSignedRequestHeaders http.Header, data io.Reader) (output *BaseModel, err error)

Request Parameter

Field

Type

Optional or Mandatory

input

*SetBucketCorsInput

Mandatory

Returned Result

Field

Type

output

*BaseModel

err

error

Sample Code

func main() {
       input := &obs.SetBucketCorsInput{}
       input.Bucket = "bucketname"
       var corsRules [2]obs.CorsRule
       corsRule0 := obs.CorsRule{}
       corsRule0.ID = "rule1"
       corsRule0.AllowedOrigin = []string{"http://www.a.com", "http://www.b.com"}
       corsRule0.AllowedMethod = []string{"GET", "PUT", "POST", "HEAD"}
       corsRule0.AllowedHeader = []string{"header1", "header2"}
       corsRule0.MaxAgeSeconds = 100
       corsRule0.ExposeHeader = []string{"obs-1", "obs-2"}
       corsRules[0] = corsRule0
       corsRule1 := obs.CorsRule{}

       corsRule1.ID = "rule2"
       corsRule1.AllowedOrigin = []string{"http://www.c.com", "http://www.d.com"}
       corsRule1.AllowedMethod = []string{"GET", "PUT", "POST", "HEAD"}
       corsRule1.AllowedHeader = []string{"header3", "header4"}
       corsRule1.MaxAgeSeconds = 50
       corsRule1.ExposeHeader = []string{"obs-3", "obs-4"}
       corsRules[1] = corsRule1
       input.CorsRules = corsRules[:]
       output, err := obsClient.SetBucketCors(input)
       if err == nil {
              fmt.Printf("RequestId:%s\n", output.RequestId)
       } else {
              if obsError, ok := err.(obs.ObsError); ok {
                     fmt.Println(obsError.Code)
                     fmt.Println(obsError.Message)
              } else {
                     fmt.Println(err)
              }
       }
}