WithContext stores chat identity on the context for downstream logs.
(ctx context.Context, chatID uuid.UUID, ancestorIDs []uuid.UUID)
| 29 | |
| 30 | // WithContext stores chat identity on the context for downstream logs. |
| 31 | func WithContext(ctx context.Context, chatID uuid.UUID, ancestorIDs []uuid.UUID) context.Context { |
| 32 | if chatID == uuid.Nil { |
| 33 | return ctx |
| 34 | } |
| 35 | ancestors := make([]uuid.UUID, len(ancestorIDs)) |
| 36 | copy(ancestors, ancestorIDs) |
| 37 | return context.WithValue(ctx, chatContextKey{}, Context{ |
| 38 | ID: chatID, |
| 39 | AncestorIDs: ancestors, |
| 40 | }) |
| 41 | } |
| 42 | |
| 43 | // Fields returns structured log fields for the chat identity on ctx. |
| 44 | func Fields(ctx context.Context) []slog.Field { |
no outgoing calls
no test coverage detected