package appctx import ( "context" "strings" ) const ( DefaultAppCode = "lalu" HeaderAppCode = "X-App-Code" ) type contextKey struct{} func Normalize(value string) string { value = strings.ToLower(strings.TrimSpace(value)) if value == "" { return DefaultAppCode } return value } func WithContext(ctx context.Context, value string) context.Context { return context.WithValue(ctx, contextKey{}, Normalize(value)) } func FromContext(ctx context.Context) string { if ctx == nil { return DefaultAppCode } value, _ := ctx.Value(contextKey{}).(string) return Normalize(value) }