| package contexts
|
|
|
| import (
|
| "context"
|
|
|
| "github.com/looplj/axonhub/internal/ent/request"
|
| )
|
|
|
|
|
| func WithSource(ctx context.Context, source request.Source) context.Context {
|
| container := getContainer(ctx)
|
| container.Source = &source
|
|
|
| return withContainer(ctx, container)
|
| }
|
|
|
|
|
| func GetSource(ctx context.Context) (request.Source, bool) {
|
| container := getContainer(ctx)
|
| if container.Source != nil {
|
| return *container.Source, true
|
| }
|
|
|
| return request.SourceAPI, false
|
| }
|
|
|
|
|
| func GetSourceOrDefault(ctx context.Context, defaultSource request.Source) request.Source {
|
| if source, ok := GetSource(ctx); ok {
|
| return source
|
| }
|
|
|
| return defaultSource
|
| }
|
|
|