github.com/aliyun/aliyun-oss-go-sdk@v3.0.2+incompatible/sample/bucket_responseheader.go (about) 1 package sample 2 3 import ( 4 "fmt" 5 6 "github.com/aliyun/aliyun-oss-go-sdk/oss" 7 ) 8 9 // BucketResponseHeaderSample shows how to set, get and delete the bucket's response header. 10 func BucketResponseHeaderSample() { 11 // New client 12 client, err := oss.New(endpoint, accessID, accessKey) 13 if err != nil { 14 HandleError(err) 15 } 16 17 // Create the bucket with default parameters 18 err = client.CreateBucket(bucketName) 19 if err != nil { 20 HandleError(err) 21 } 22 23 // Set bucket's response header. 24 reqHeader := oss.PutBucketResponseHeader{ 25 Rule: []oss.ResponseHeaderRule{ 26 { 27 Name: "name1", 28 Filters: oss.ResponseHeaderRuleFilters{ 29 []string{ 30 "Put", "GetObject", 31 }, 32 }, 33 HideHeaders: oss.ResponseHeaderRuleHeaders{ 34 []string{ 35 "Last-Modified", 36 }, 37 }, 38 }, 39 { 40 Name: "name2", 41 Filters: oss.ResponseHeaderRuleFilters{ 42 []string{ 43 "*", 44 }, 45 }, 46 HideHeaders: oss.ResponseHeaderRuleHeaders{ 47 []string{ 48 "Last-Modified", 49 }, 50 }, 51 }, 52 }, 53 } 54 err = client.PutBucketResponseHeader(bucketName, reqHeader) 55 if err != nil { 56 HandleError(err) 57 } 58 59 fmt.Println("Bucket Response Header Set Success!") 60 61 // Get bucket's response header. 62 header, err := client.GetBucketResponseHeader(bucketName) 63 if err != nil { 64 HandleError(err) 65 } 66 for _, rule := range header.Rule { 67 fmt.Printf("Rule Name:%#v\n", rule.Name) 68 if len(rule.Filters.Operation) > 0 { 69 for _, Operation := range rule.Filters.Operation { 70 fmt.Printf("Rule Filter Operation:%s\n", Operation) 71 } 72 } 73 if len(rule.HideHeaders.Header) > 0 { 74 for _, head := range rule.HideHeaders.Header { 75 fmt.Printf("Rule Hide Headers Header:%s\n", head) 76 } 77 } 78 } 79 80 // Delete bucket's response header. 81 err = client.DeleteBucketResponseHeader(bucketName) 82 if err != nil { 83 HandleError(err) 84 } 85 fmt.Println("Bucket Response Header Delete Success!") 86 87 fmt.Println("BucketResponseHeaderSample completed") 88 }