package utils import ( "fmt" "log" "net/http" "github.com/gin-gonic/gin" ) func SetMiddlewareData(r *gin.Engine, key string, data any) { //set logger for middleware r.Use(func(c *gin.Context) { c.Set(key, data) c.Next() }) } func GetMiddlewareData(c *gin.Context, key string) (any, error) { // Retrieve logger from Gin context data, ok := c.Get("logger") if !ok { log.Fatal("middleware logger not set — use SetMiddlewareLogger first") c.AbortWithStatusJSON(http.StatusInternalServerError, http.StatusInternalServerError) return nil, fmt.Errorf("middleware key '%s'not set ", key) } return data, nil }