23 lines
364 B
Go
23 lines
364 B
Go
|
package auth
|
||
|
|
||
|
import (
|
||
|
"context"
|
||
|
|
||
|
"github.com/pkg/errors"
|
||
|
)
|
||
|
|
||
|
const keyUser = "user"
|
||
|
|
||
|
func ContextUser(ctx context.Context) *User {
|
||
|
user, ok := ctx.Value(keyUser).(*User)
|
||
|
if !ok {
|
||
|
panic(errors.New("no user in context"))
|
||
|
}
|
||
|
|
||
|
return user
|
||
|
}
|
||
|
|
||
|
func setContextUser(ctx context.Context, user *User) context.Context {
|
||
|
return context.WithValue(ctx, keyUser, user)
|
||
|
}
|