Newer
Older
package auth
import (
"net/http"
"github.com/rs/zerolog"
)
func LogUserHandler(next http.Handler) http.Handler {
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
log := zerolog.Ctx(r.Context())
if o := RequestAuthClaimsAsLogObjectMarshaler(r); o != nil {
log.UpdateContext(func(c zerolog.Context) zerolog.Context {
return c.Object("identity", o)
})
} else {
log.UpdateContext(func(c zerolog.Context) zerolog.Context {
return c.Str("identity", "anonymous")
})
}
next.ServeHTTP(w, r)
})
}