Documentation
¶
Index ¶
- Constants
- func CopyMetaInfo(fromCtx, toCtx context.Context) context.Context
- func GetAllMetaInfo(ctx context.Context) map[string]string
- func GetAppType(ctx context.Context) string
- func GetMerchantID(ctx context.Context) string
- func GetMetaInfo(ctx context.Context, key string) string
- func GetMetaInfoOrDefault(ctx context.Context, key, defaultValue string) string
- func GetMetaInfoWithFallback(ctx context.Context, primaryKey string, fallbackKeys ...string) string
- func GetRequestID(ctx context.Context) string
- func GetTenantID(ctx context.Context) string
- func GetUserID(ctx context.Context) string
- func HasMetaInfo(ctx context.Context, key string) bool
- func IsAdmin(ctx context.Context) *bool
- func IsMerchantIsolationEnabled(ctx context.Context) bool
- func IsTenantIsolationEnabled(ctx context.Context) bool
- func SetMetaInfo(ctx context.Context, key string, value string) context.Context
- func SetMultipleMetaInfo(ctx context.Context, values map[string]string) context.Context
- func WithAppType(ctx context.Context, appType string) context.Context
- func WithIsAdmin(ctx context.Context, isAdmin bool) context.Context
- func WithMerchantID(ctx context.Context, merchantID string) context.Context
- func WithMerchantIsolation(ctx context.Context, enabled bool) context.Context
- func WithRequestID(ctx context.Context, requestID string) context.Context
- func WithTenantID(ctx context.Context, tenantID string) context.Context
- func WithTenantIsolation(ctx context.Context, enabled bool) context.Context
- func WithUserID(ctx context.Context, userID string) context.Context
- type ContextInfo
Constants ¶
const ( // 上下文键名定义 - 统一用于内部上下文管理和RPC调用间传递 // RPC上下文传递键名定义 TenantKey = "tenant_id" UserKey = "user_id" RequestKey = "request_id" MerchantKey = "merchant_id" TenantIsolationKey = "tenant_isolation" MerchantIsolationKey = "merchant_isolation" AppTypeKey = "app_type" )
Variables ¶
This section is empty.
Functions ¶
func CopyMetaInfo ¶
CopyMetaInfo 从源 context 复制 metainfo 到目标 context
func GetAllMetaInfo ¶
GetAllMetaInfo 获取所有 metainfo 信息
func GetMerchantID ¶
GetMerchantID retrieves merchant ID from the context
func GetMetaInfo ¶
GetMetaInfo 获取 metainfo 值,支持 fallback 机制
func GetMetaInfoOrDefault ¶
GetMetaInfoOrDefault 获取 metainfo 值,如果不存在则返回默认值
func GetMetaInfoWithFallback ¶
GetMetaInfoWithFallback 获取 metainfo 值,支持自定义 fallback 键名
func GetRequestID ¶
GetRequestID retrieves request ID from the context
func GetTenantID ¶
GetTenantID retrieves tenant ID from the context
func HasMetaInfo ¶
HasMetaInfo 检查 context 中是否存在指定的 metainfo
func IsMerchantIsolationEnabled ¶
IsMerchantIsolationEnabled checks if merchant isolation is enabled for the context
func IsTenantIsolationEnabled ¶
IsTenantIsolationEnabled checks if tenant isolation is enabled for the context
func SetMetaInfo ¶
SetMetaInfo 设置 metainfo 值,同时设置到 context 和 metainfo 中
func SetMultipleMetaInfo ¶
SetMultipleMetaInfo 批量设置 metainfo 值
func WithAppType ¶
WithAppType 设置 appType
func WithMerchantID ¶
WithMerchantID adds merchant ID to the context
func WithMerchantIsolation ¶
WithMerchantIsolation enables or disables merchant isolation for the context
func WithRequestID ¶
WithRequestID adds request ID to the context
func WithTenantID ¶
WithTenant adds tenant ID to the context
func WithTenantIsolation ¶
WithTenantIsolation enables or disables tenant isolation for the context
Types ¶
type ContextInfo ¶
type ContextInfo struct {
TenantID string
UserID string
RequestID string
MerchantID string
AppType string
}
ContextInfo holds all context information
func GetContextInfo ¶
func GetContextInfo(ctx context.Context) *ContextInfo
GetContextInfo retrieves all context information