package auth import "context" type requestMetadataContextKey struct{} type sessionIDContextKey struct{} func ContextWithRequestMetadata(ctx context.Context, metadata RequestMetadata) context.Context { return context.WithValue(ctx, requestMetadataContextKey{}, metadata) } func RequestMetadataFromContext(ctx context.Context) RequestMetadata { metadata, _ := ctx.Value(requestMetadataContextKey{}).(RequestMetadata) return metadata } func ContextWithSessionID(ctx context.Context, sessionID string) context.Context { return context.WithValue(ctx, sessionIDContextKey{}, sessionID) } func SessionIDFromContext(ctx context.Context) string { sessionID, _ := ctx.Value(sessionIDContextKey{}).(string) return sessionID }