This commit is contained in:
marcsello 2025-10-09 22:21:38 +02:00
commit fa47df6d89
22 changed files with 1724 additions and 0 deletions

36
middleware.go Normal file
View file

@ -0,0 +1,36 @@
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)
}