Documentation
¶
Index ¶
- Constants
- Variables
- func GeneratePlatformData() *api.PlatformData
- func SetLogger(log Logger)
- type APIKey
- type AdvancedOptions
- type BaseVariable
- type BasicAuth
- type BatchEventsBody
- type BucketedUserConfig
- type Client
- func (c *Client) AllFeatures(user User) (map[string]Feature, error)
- func (c *Client) AllVariables(user User) (map[string]ReadOnlyVariable, error)
- func (c *Client) ChangeBasePath(path string)
- func (c *Client) Close() (err error)
- func (c *Client) EventQueueMetrics() (int32, int32, int32)
- func (c *Client) FlushEvents() error
- func (c *Client) SetClientCustomData(customData map[string]interface{}) error
- func (c *Client) SetOptions(dvcOptions Options)
- func (c *Client) Track(user User, event Event) (bool, error)
- func (c *Client) Variable(userdata User, key string, defaultValue interface{}) (result Variable, err error)
- func (c *Client) VariableValue(userdata User, key string, defaultValue interface{}) (interface{}, error)
- type ConfigReceiver
- type DVCClientdeprecated
- type DVCEventdeprecated
- type DVCOptionsdeprecated
- type DVCUserdeprecated
- type DiscardLogger
- type EnvironmentConfigManager
- type ErrorResponse
- type Event
- type EventFlushCallback
- type EventManager
- type EventQueueOptions
- type Feature
- type FeatureVariation
- type FlushPayload
- type FlushResult
- type GenericError
- type HTTPConfiguration
- type InternalEventQueue
- type LocalBucketing
- type Logger
- type NativeLocalBucketing
- func (n *NativeLocalBucketing) Close()
- func (n *NativeLocalBucketing) FlushEventQueue(callback EventFlushCallback) error
- func (n *NativeLocalBucketing) GenerateBucketedConfigForUser(user User) (ret *BucketedUserConfig, err error)
- func (n *NativeLocalBucketing) Metrics() (int32, int32, int32)
- func (n *NativeLocalBucketing) QueueAggregateEvent(config BucketedUserConfig, event Event) error
- func (n *NativeLocalBucketing) QueueEvent(user User, event Event) error
- func (n *NativeLocalBucketing) SetClientCustomData(customData map[string]interface{}) error
- func (n *NativeLocalBucketing) StoreConfig(configJSON []byte, eTag string) error
- func (n *NativeLocalBucketing) UserQueueLength() (int, error)
- func (n *NativeLocalBucketing) Variable(user User, variableKey string, variableType string) (Variable, error)
- type Options
- type PlatformData
- type ReadOnlyVariable
- type SDKEvent
- type User
- type UserDataAndEventsBody
- type Variable
Constants ¶
const CONFIG_RETRIES = 1
const NATIVE_SDK = true
const VERSION = "2.10.4"
Variables ¶
var ( // ContextOAuth2 takes a oauth2.TokenSource as authentication for the request. ContextOAuth2 = contextKey("token") // ContextBasicAuth takes BasicAuth as authentication for the request. ContextBasicAuth = contextKey("basic") // ContextAccessToken takes a string oauth2 access token as authentication for the request. ContextAccessToken = contextKey("accesstoken") // ContextAPIKey takes an APIKey as authentication for the request ContextAPIKey = contextKey("apikey") )
var DEFAULT_USER_TIME = time.Time{}
This value will always be set to zero as the user.CreatedDate is not actually used in native bucketing
var ErrQueueFull = bucketing.ErrQueueFull
Functions ¶
func GeneratePlatformData ¶ added in v2.9.5
func GeneratePlatformData() *api.PlatformData
Types ¶
type APIKey ¶
APIKey provides API key based authentication to a request passed via context using ContextAPIKey
type AdvancedOptions ¶ added in v2.7.0
type AdvancedOptions struct { // controls the maximum number of pre-allocated memory blocks used for WASM execution. This influences the maximum // string length that can be fit inside of preallocated memory // Can be set to -1 to disable pre-allocated memory blocks entirely. // This takes \sum_{k=5}^{n+5} 2^k memory usage MaxMemoryAllocationBuckets int MaxWasmWorkers int OverridePlatformData *api.PlatformData }
type BaseVariable ¶ added in v2.9.5
type BaseVariable = api.BaseVariable
type BasicAuth ¶
type BasicAuth struct { UserName string `json:"userName,omitempty"` Password string `json:"password,omitempty"` }
BasicAuth provides basic http authentication to a request passed via context using ContextBasicAuth
type BatchEventsBody ¶
type BatchEventsBody = api.BatchEventsBody
type BucketedUserConfig ¶
type BucketedUserConfig = api.BucketedUserConfig
type Client ¶ added in v2.10.0
type Client struct { DevCycleOptions *Options // contains filtered or unexported fields }
DevCycle Client In most cases there should be only one, shared, Client.
func NewClient ¶ added in v2.10.0
NewClient creates a new API client. optionally pass a custom http.Client to allow for advanced features such as caching.
func NewDVCClient
deprecated
func (*Client) AllFeatures ¶ added in v2.10.0
DVCClientService Get all features by key for user data
- @param body
@return map[string]Feature
func (*Client) AllVariables ¶ added in v2.10.0
func (c *Client) AllVariables(user User) (map[string]ReadOnlyVariable, error)
func (*Client) ChangeBasePath ¶ added in v2.10.0
Change base path to allow switching to mocks
func (*Client) Close ¶ added in v2.10.0
Close the client and flush any pending events. Stop any ongoing tickers
func (*Client) EventQueueMetrics ¶ added in v2.10.0
func (*Client) FlushEvents ¶ added in v2.10.0
func (*Client) SetClientCustomData ¶ added in v2.10.0
func (*Client) SetOptions ¶ added in v2.10.0
type ConfigReceiver ¶ added in v2.9.4
type DVCOptions
deprecated
type DVCOptions = Options
Deprecated: Use devcycle.Options instead
type DiscardLogger ¶ added in v2.3.0
type DiscardLogger = util.DiscardLogger
type EnvironmentConfigManager ¶
type EnvironmentConfigManager struct {
// contains filtered or unexported fields
}
func NewEnvironmentConfigManager ¶ added in v2.9.4
func NewEnvironmentConfigManager( sdkKey string, localBucketing ConfigReceiver, options *Options, cfg *HTTPConfiguration, ) (e *EnvironmentConfigManager)
func (*EnvironmentConfigManager) Close ¶
func (e *EnvironmentConfigManager) Close()
func (*EnvironmentConfigManager) HasConfig ¶
func (e *EnvironmentConfigManager) HasConfig() bool
func (*EnvironmentConfigManager) StartPolling ¶ added in v2.9.4
func (e *EnvironmentConfigManager) StartPolling( interval time.Duration, )
type ErrorResponse ¶
type ErrorResponse = api.ErrorResponse
Aliases for the types in the api package
type EventFlushCallback ¶ added in v2.10.0
type EventFlushCallback func(payloads map[string]FlushPayload) (*FlushResult, error)
type EventManager ¶ added in v2.10.0
type EventManager struct {
// contains filtered or unexported fields
}
EventManager is responsible for flushing the event queue and reporting events to the server. It wraps an InternalEventQueue which is implemented either natively by the bucketing package or in WASM.
func NewEventManager ¶ added in v2.10.0
func NewEventManager(options *Options, localBucketing InternalEventQueue, cfg *HTTPConfiguration, sdkKey string) (eventQueue *EventManager, err error)
func (*EventManager) Close ¶ added in v2.10.0
func (e *EventManager) Close() (err error)
func (*EventManager) FlushEvents ¶ added in v2.10.0
func (e *EventManager) FlushEvents() (err error)
func (*EventManager) Metrics ¶ added in v2.10.0
func (e *EventManager) Metrics() (int32, int32, int32)
func (*EventManager) QueueEvent ¶ added in v2.10.0
func (e *EventManager) QueueEvent(user User, event Event) error
func (*EventManager) QueueVariableDefaultedEvent ¶ added in v2.10.1
func (e *EventManager) QueueVariableDefaultedEvent(variableKey string) error
type EventQueueOptions ¶
type EventQueueOptions = api.EventQueueOptions
type FeatureVariation ¶
type FeatureVariation = api.FeatureVariation
type FlushPayload ¶
type FlushPayload = api.FlushPayload
type FlushResult ¶ added in v2.8.0
type GenericError ¶
type GenericError struct {
// contains filtered or unexported fields
}
GenericError Provides access to the body, error and model on returned errors.
func (GenericError) Body ¶
func (e GenericError) Body() []byte
Body returns the raw bytes of the response
func (GenericError) Error ¶
func (e GenericError) Error() string
Error returns non-empty string if there was an error.
func (GenericError) Model ¶
func (e GenericError) Model() interface{}
Model returns the unpacked model of the error
type HTTPConfiguration ¶
type HTTPConfiguration struct { BasePath string `json:"basePath,omitempty"` ConfigCDNBasePath string `json:"configCDNBasePath,omitempty"` EventsAPIBasePath string `json:"eventsAPIBasePath,omitempty"` Host string `json:"host,omitempty"` Scheme string `json:"scheme,omitempty"` DefaultHeader map[string]string `json:"defaultHeader,omitempty"` UserAgent string `json:"userAgent,omitempty"` HTTPClient *http.Client }
func NewConfiguration ¶
func NewConfiguration(options *Options) *HTTPConfiguration
func (*HTTPConfiguration) AddDefaultHeader ¶
func (c *HTTPConfiguration) AddDefaultHeader(key string, value string)
type InternalEventQueue ¶ added in v2.10.0
type LocalBucketing ¶ added in v2.9.5
type LocalBucketing interface { ConfigReceiver InternalEventQueue GenerateBucketedConfigForUser(user User) (ret *BucketedUserConfig, err error) SetClientCustomData(map[string]interface{}) error Variable(user User, key string, variableType string) (variable Variable, err error) Close() }
type NativeLocalBucketing ¶ added in v2.10.2
type NativeLocalBucketing struct {
// contains filtered or unexported fields
}
func NewNativeLocalBucketing ¶ added in v2.10.2
func NewNativeLocalBucketing(sdkKey string, platformData *api.PlatformData, options *Options) (*NativeLocalBucketing, error)
func (*NativeLocalBucketing) Close ¶ added in v2.10.2
func (n *NativeLocalBucketing) Close()
func (*NativeLocalBucketing) FlushEventQueue ¶ added in v2.10.2
func (n *NativeLocalBucketing) FlushEventQueue(callback EventFlushCallback) error
func (*NativeLocalBucketing) GenerateBucketedConfigForUser ¶ added in v2.10.2
func (n *NativeLocalBucketing) GenerateBucketedConfigForUser(user User) (ret *BucketedUserConfig, err error)
func (*NativeLocalBucketing) Metrics ¶ added in v2.10.2
func (n *NativeLocalBucketing) Metrics() (int32, int32, int32)
func (*NativeLocalBucketing) QueueAggregateEvent ¶ added in v2.10.2
func (n *NativeLocalBucketing) QueueAggregateEvent(config BucketedUserConfig, event Event) error
func (*NativeLocalBucketing) QueueEvent ¶ added in v2.10.2
func (n *NativeLocalBucketing) QueueEvent(user User, event Event) error
func (*NativeLocalBucketing) SetClientCustomData ¶ added in v2.10.2
func (n *NativeLocalBucketing) SetClientCustomData(customData map[string]interface{}) error
func (*NativeLocalBucketing) StoreConfig ¶ added in v2.10.2
func (n *NativeLocalBucketing) StoreConfig(configJSON []byte, eTag string) error
func (*NativeLocalBucketing) UserQueueLength ¶ added in v2.10.2
func (n *NativeLocalBucketing) UserQueueLength() (int, error)
type Options ¶ added in v2.10.0
type Options struct { EnableEdgeDB bool `json:"enableEdgeDb,omitempty"` EnableCloudBucketing bool `json:"enableCloudBucketing,omitempty"` EventFlushIntervalMS time.Duration `json:"eventFlushIntervalMS,omitempty"` ConfigPollingIntervalMS time.Duration `json:"configPollingIntervalMS,omitempty"` RequestTimeout time.Duration `json:"requestTimeout,omitempty"` DisableAutomaticEventLogging bool `json:"disableAutomaticEventLogging,omitempty"` DisableCustomEventLogging bool `json:"disableCustomEventLogging,omitempty"` MaxEventQueueSize int `json:"maxEventsPerFlush,omitempty"` FlushEventQueueSize int `json:"minEventsPerFlush,omitempty"` ConfigCDNURI string EventsAPIURI string OnInitializedChannel chan bool BucketingAPIURI string Logger util.Logger UseDebugWASM bool AdvancedOptions }
func (*Options) CheckDefaults ¶ added in v2.10.0
func (o *Options) CheckDefaults()
type PlatformData ¶
type PlatformData = api.PlatformData
type ReadOnlyVariable ¶
type ReadOnlyVariable = api.ReadOnlyVariable
type UserDataAndEventsBody ¶
type UserDataAndEventsBody = api.UserDataAndEventsBody
Source Files
¶
Directories
¶
Path | Synopsis |
---|---|
* DevCycle Bucketing API * * Documents the DevCycle Bucketing API which provides and API interface to User Bucketing and for generated SDKs.
|
* DevCycle Bucketing API * * Documents the DevCycle Bucketing API which provides and API interface to User Bucketing and for generated SDKs. |
example
|
|