Versions in this module Expand all Collapse all v2 v2.1.0 Nov 8, 2024 v2.0.0 Jan 22, 2024 Changes in this version + const AuthDatafileURLTemplate + const DatafileURLTemplate + const DefaultPollingInterval + const LastModified + const ModifiedSince + var Err403Forbidden = errors.New(...) + type OptimizelyAttribute struct + ID string + Key string + type OptimizelyAudience struct + Conditions string + ID string + Name string + type OptimizelyConfig struct + Attributes []OptimizelyAttribute + Audiences []OptimizelyAudience + EnvironmentKey string + Events []OptimizelyEvent + ExperimentsMap map[string]OptimizelyExperiment + FeaturesMap map[string]OptimizelyFeature + Revision string + SdkKey string + func NewOptimizelyConfig(projConfig ProjectConfig) *OptimizelyConfig + func (c OptimizelyConfig) GetDatafile() string + type OptimizelyEvent struct + ExperimentIds []string + ID string + Key string + type OptimizelyExperiment struct + Audiences string + ID string + Key string + VariationsMap map[string]OptimizelyVariation + type OptimizelyFeature struct + DeliveryRules []OptimizelyExperiment + ExperimentRules []OptimizelyExperiment + ExperimentsMap map[string]OptimizelyExperiment + ID string + Key string + VariablesMap map[string]OptimizelyVariable + type OptimizelyVariable struct + ID string + Key string + Type string + Value string + type OptimizelyVariation struct + FeatureEnabled bool + ID string + Key string + VariablesMap map[string]OptimizelyVariable + type OptionFunc func(*PollingProjectConfigManager) + func WithDatafileAccessToken(datafileAccessToken string) OptionFunc + func WithDatafileURLTemplate(datafileTemplate string) OptionFunc + func WithInitialDatafile(datafile []byte) OptionFunc + func WithPollingInterval(interval time.Duration) OptionFunc + func WithRequester(requester utils.Requester) OptionFunc + type PollingProjectConfigManager struct + func NewAsyncPollingProjectConfigManager(sdkKey string, pollingMangerOptions ...OptionFunc) *PollingProjectConfigManager + func NewPollingProjectConfigManager(sdkKey string, pollingMangerOptions ...OptionFunc) *PollingProjectConfigManager + func (cm *PollingProjectConfigManager) GetConfig() (ProjectConfig, error) + func (cm *PollingProjectConfigManager) GetOptimizelyConfig() *OptimizelyConfig + func (cm *PollingProjectConfigManager) OnProjectConfigUpdate(callback func(notification.ProjectConfigUpdateNotification)) (int, error) + func (cm *PollingProjectConfigManager) RemoveOnProjectConfigUpdate(id int) error + func (cm *PollingProjectConfigManager) Start(ctx context.Context) + func (cm *PollingProjectConfigManager) SyncConfig() + type ProjectConfig interface + GetAccountID func() string + GetAnonymizeIP func() bool + GetAttributeByKey func(key string) (entities.Attribute, error) + GetAttributeID func(id string) string + GetAttributes func() []entities.Attribute + GetAudienceByID func(string) (entities.Audience, error) + GetAudienceList func() (audienceList []entities.Audience) + GetAudienceMap func() map[string]entities.Audience + GetBotFiltering func() bool + GetDatafile func() string + GetEnvironmentKey func() string + GetEventByKey func(string) (entities.Event, error) + GetEvents func() []entities.Event + GetExperimentByKey func(string) (entities.Experiment, error) + GetExperimentList func() []entities.Experiment + GetFeatureByKey func(string) (entities.Feature, error) + GetFeatureList func() []entities.Feature + GetFlagVariationsMap func() map[string][]entities.Variation + GetGroupByID func(string) (entities.Group, error) + GetHostForODP func() string + GetIntegrationList func() []entities.Integration + GetProjectID func() string + GetPublicKeyForODP func() string + GetRevision func() string + GetRolloutList func() (rolloutList []entities.Rollout) + GetSdkKey func() string + GetSegmentList func() []string + GetVariableByKey func(featureKey string, variableKey string) (entities.Variable, error) + SendFlagDecisions func() bool + type ProjectConfigManager interface + GetConfig func() (ProjectConfig, error) + GetOptimizelyConfig func() *OptimizelyConfig + OnProjectConfigUpdate func(callback func(notification.ProjectConfigUpdateNotification)) (int, error) + RemoveOnProjectConfigUpdate func(id int) error + type StaticProjectConfigManager struct + func NewStaticProjectConfigManager(config ProjectConfig, logger logging.OptimizelyLogProducer) *StaticProjectConfigManager + func NewStaticProjectConfigManagerFromPayload(payload []byte, logger logging.OptimizelyLogProducer) (*StaticProjectConfigManager, error) + func NewStaticProjectConfigManagerFromURL(sdkKey string) (*StaticProjectConfigManager, error) + func NewStaticProjectConfigManagerWithOptions(sdkKey string, configMangerOptions ...OptionFunc) *StaticProjectConfigManager + func (cm *StaticProjectConfigManager) GetConfig() (ProjectConfig, error) + func (cm *StaticProjectConfigManager) GetOptimizelyConfig() *OptimizelyConfig + func (cm *StaticProjectConfigManager) OnProjectConfigUpdate(callback func(notification.ProjectConfigUpdateNotification)) (int, error) + func (cm *StaticProjectConfigManager) RemoveOnProjectConfigUpdate(id int) error Other modules containing this package github.com/optimizely/go-sdk