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  }