INNER CODE UNIT · Go
WithUser
arp242/goatcounter · context.go:129
func WithUser(ctx context.Context, u *User) context.Context {
return context.WithValue(ctx, ctxkey.User, u)
}
// GetUser gets the currently logged in user.
func GetUser(ctx context.Context) *User {
u, _ := ctx.Value(ctxkey.User).(*User)
if u == nil || u.ID == 0 {
s := GetSite(ctx)
if s != nil {
return &User{Settings: s.UserDefaults}
}
}
return u
}
// MustGetUser behaves as GetUser(), panicking if this fails.
func MustGetUser(ctx context.Context) *User {