github.com/aliyun/aliyun-oss-go-sdk@v3.0.2+incompatible/sample/bucket_referer.go (about) 1 package sample 2 3 import ( 4 "fmt" 5 "github.com/aliyun/aliyun-oss-go-sdk/oss" 6 ) 7 8 // BucketRefererSample shows how to set, get and delete the bucket referer. 9 func BucketRefererSample() { 10 // New client 11 client, err := oss.New(endpoint, accessID, accessKey) 12 if err != nil { 13 HandleError(err) 14 } 15 16 // Create the bucket with default parameters 17 err = client.CreateBucket(bucketName) 18 if err != nil { 19 HandleError(err) 20 } 21 22 var referers = []string{ 23 "http://www.aliyun.com", 24 "http://www.???.aliyuncs.com", 25 "http://www.*.com", 26 } 27 28 // Case 1: Set referers. The referers are with wildcards ? and * which could represent one and zero to multiple characters 29 err = client.SetBucketReferer(bucketName, referers, false) 30 if err != nil { 31 HandleError(err) 32 } 33 34 // Case 2: Clear referers 35 referers = []string{} 36 err = client.SetBucketReferer(bucketName, referers, true) 37 if err != nil { 38 HandleError(err) 39 } 40 41 // Case 3: Create Refer With SetBucketRefererV2 42 var setBucketReferer oss.RefererXML 43 setBucketReferer.RefererList = []string{ 44 "http://www.aliyun.com", 45 "https://www.aliyun.com", 46 "http://www.???.aliyuncs.com", 47 "http://www.*.com", 48 } 49 referer1 := "http://www.refuse.com" 50 referer2 := "https://*.hack.com" 51 referer3 := "http://ban.*.com" 52 referer4 := "https://www.?.deny.com" 53 setBucketReferer.RefererBlacklist = &oss.RefererBlacklist{ 54 []string{ 55 referer1, referer2, referer3, referer4, 56 }, 57 } 58 setBucketReferer.AllowEmptyReferer = false 59 boolTrue := true 60 setBucketReferer.AllowTruncateQueryString = &boolTrue 61 err = client.SetBucketRefererV2(bucketName, setBucketReferer) 62 if err != nil { 63 HandleError(err) 64 } 65 66 fmt.Println("Set Bucket Referer Success") 67 68 // Get bucket referer configuration 69 refRes, err := client.GetBucketReferer(bucketName) 70 if err != nil { 71 HandleError(err) 72 } 73 fmt.Println("Allow Empty Referer: ", refRes.AllowEmptyReferer) 74 if refRes.AllowTruncateQueryString != nil { 75 fmt.Println("Allow Truncate QueryString: ", *refRes.AllowTruncateQueryString) 76 } 77 if len(refRes.RefererList) > 0 { 78 for _, referer := range refRes.RefererList { 79 fmt.Println("Referer List: ", referer) 80 } 81 } 82 if refRes.RefererBlacklist != nil { 83 for _, refererBlack := range refRes.RefererBlacklist.Referer { 84 fmt.Println("Referer Black List: ", refererBlack) 85 } 86 } 87 fmt.Println("Get Bucket Referer Success") 88 89 // Delete bucket referer 90 // Case 1:Delete Refer With SetBucketReferer 91 err = client.SetBucketReferer(bucketName, []string{}, true) 92 if err != nil { 93 HandleError(err) 94 } 95 96 // Case 2:Delete Refer With SetBucketRefererV2 97 var delBucketReferer oss.RefererXML 98 delBucketReferer.RefererList = []string{} 99 delBucketReferer.AllowEmptyReferer = true 100 err = client.SetBucketRefererV2(bucketName, delBucketReferer) 101 if err != nil { 102 HandleError(err) 103 } 104 fmt.Println("Delete Bucket Referer Success") 105 106 // Delete bucket 107 err = client.DeleteBucket(bucketName) 108 if err != nil { 109 HandleError(err) 110 } 111 fmt.Println("BucketRefererSample completed") 112 }