github.com/muxinc/mux-go@v1.1.1/examples/video/direct-uploads/exercise-direct-uploads.go (about) 1 package main 2 3 import ( 4 "fmt" 5 "os" 6 7 "github.com/muxinc/mux-go" 8 "github.com/muxinc/mux-go/examples/common" 9 ) 10 11 // Exercises all direct upload operations: 12 // create-direct-upload 13 // list-direct-uploads 14 // get-direct-upload 15 // cancel-direct-upload 16 17 func main() { 18 19 // API Client Initialization 20 client := muxgo.NewAPIClient( 21 muxgo.NewConfiguration( 22 muxgo.WithBasicAuth(os.Getenv("MUX_TOKEN_ID"), os.Getenv("MUX_TOKEN_SECRET")), 23 )) 24 25 // ========== create-direct-upload ========== 26 car := muxgo.CreateAssetRequest{PlaybackPolicy: []muxgo.PlaybackPolicy{muxgo.PUBLIC}} 27 cur := muxgo.CreateUploadRequest{NewAssetSettings: car, Timeout: 3600, CorsOrigin: "philcluff.co.uk"} 28 u, err := client.DirectUploadsApi.CreateDirectUpload(cur) 29 common.AssertNoError(err) 30 common.AssertNotNil(u.Data) 31 fmt.Println("create-direct-upload OK ✅") 32 33 // ========== create-direct-upload ========== 34 us, err := client.DirectUploadsApi.ListDirectUploads() 35 common.AssertNoError(err) 36 common.AssertNotNil(u.Data) 37 common.AssertStringEqualsValue(u.Data.Id, us.Data[0].Id) 38 fmt.Println("list-direct-uploads ✅") 39 40 // ========== get-direct-upload ========== 41 ug, err := client.DirectUploadsApi.GetDirectUpload(u.Data.Id) 42 common.AssertNoError(err) 43 common.AssertNotNil(ug.Data) 44 common.AssertStringEqualsValue(u.Data.Id, ug.Data.Id) 45 fmt.Println("get-direct-upload ✅") 46 47 // ========== cancel-direct-upload ========== 48 uc, err := client.DirectUploadsApi.CancelDirectUpload(u.Data.Id) 49 common.AssertNoError(err) 50 common.AssertNotNil(uc.Data) 51 common.AssertStringEqualsValue(u.Data.Id, uc.Data.Id) 52 common.AssertStringEqualsValue(uc.Data.Status, "cancelled") 53 fmt.Println("cancel-direct-upload ✅") 54 }