package auth import ( "net/http" "github.com/rs/zerolog" ) type contextKey int const ( contextAuthClaims contextKey = iota ) func RequestAuthClaims[T any, PT interface { *T Claims zerolog.LogObjectMarshaler }](r *http.Request) *T { value := r.Context().Value(contextAuthClaims) if value == nil { return nil } if claims, ok := value.(*T); ok { return claims } return nil } func RequestAuthClaimsAsLogObjectMarshaler(r *http.Request) zerolog.LogObjectMarshaler { value := r.Context().Value(contextAuthClaims) if value == nil { return nil } if claims, ok := value.(zerolog.LogObjectMarshaler); ok { return claims } return nil }