this repo has no description
1package session
2
3import (
4 "context"
5
6 toauth "tangled.org/core/appview/oauth"
7)
8
9type ctxKey struct{}
10
11func IntoContext(ctx context.Context, sess Session) context.Context {
12 return context.WithValue(ctx, ctxKey{}, &sess)
13}
14
15func FromContext(ctx context.Context) *Session {
16 sess, ok := ctx.Value(ctxKey{}).(*Session)
17 if !ok {
18 return nil
19 }
20 return sess
21}
22
23func UserFromContext(ctx context.Context) *toauth.User {
24 sess := FromContext(ctx)
25 if sess == nil {
26 return nil
27 }
28 return sess.User()
29}