package main import ( "os" "stream-poc2/model" "github.com/gin-gonic/gin" ) func mediaMustExists(ctx *gin.Context) { id := ctx.Param("id") metadata, err := loadMediaMetadata(id) if err != nil { if os.IsNotExist(err) { ctx.AbortWithStatus(404) return } ctx.AbortWithStatus(500) return } ctx.Set("m", metadata) ctx.Set("mid", id) } func getMetadata(ctx *gin.Context) (string, model.MediaMetadata) { m, ok := ctx.Get("m") if !ok { panic("failed to load key for media metadata") } mid, ok := ctx.Get("mid") if !ok { panic("failed to load key for media id") } return mid.(string), m.(model.MediaMetadata) }