6 "github.com/aliyun/aliyun-oss-go-sdk/oss"
9 // BucketCORSSample shows how to get or set the bucket CORS.
10 func BucketCORSSample() {
12 client, err := oss.New(endpoint, accessID, accessKey)
17 // Create the bucket with default parameters
18 err = client.CreateBucket(bucketName)
23 rule1 := oss.CORSRule{
24 AllowedOrigin: []string{"*"},
25 AllowedMethod: []string{"PUT", "GET", "POST"},
26 AllowedHeader: []string{},
27 ExposeHeader: []string{},
31 rule2 := oss.CORSRule{
32 AllowedOrigin: []string{"http://www.a.com", "http://www.b.com"},
33 AllowedMethod: []string{"GET"},
34 AllowedHeader: []string{"Authorization"},
35 ExposeHeader: []string{"x-oss-test", "x-oss-test1"},
39 // Case 1: Set the bucket CORS rules
40 err = client.SetBucketCORS(bucketName, []oss.CORSRule{rule1})
45 // Case 2: Set the bucket CORS rules. if CORS rules exist, they will be overwritten.
46 err = client.SetBucketCORS(bucketName, []oss.CORSRule{rule1, rule2})
51 // Get the bucket's CORS
52 gbl, err := client.GetBucketCORS(bucketName)
56 fmt.Println("Bucket CORS:", gbl.CORSRules)
58 // Delete bucket's CORS
59 err = client.DeleteBucketCORS(bucketName)
65 err = client.DeleteBucket(bucketName)
70 fmt.Println("BucketCORSSample completed")