Documentation
¶
Index ¶
- Constants
- func Headers(headers ...Header) func(r *HTTPRequester)
- func Retries(retries int) func(r *HTTPRequester)
- func Timeout(timeout time.Duration) func(r *HTTPRequester)
- type HTTPRequester
- type Header
- type PollingProjectConfigManager
- type PollingProjectConfigManagerOptions
- type Requester
- type StaticProjectConfigManager
Constants ¶
const DatafileURLTemplate = "https://cdn.optimizely.com/datafiles/%s.json"
DatafileURLTemplate is used to construct the endpoint for retrieving the datafile from the CDN
Variables ¶
This section is empty.
Functions ¶
func Retries ¶
func Retries(retries int) func(r *HTTPRequester)
Retries sets max number of retries for failed calls
func Timeout ¶
func Timeout(timeout time.Duration) func(r *HTTPRequester)
Timeout sets http client timeout
Types ¶
type HTTPRequester ¶
type HTTPRequester struct {
// contains filtered or unexported fields
}
HTTPRequester contains main info
func NewHTTPRequester ¶
func NewHTTPRequester(url string, params ...func(*HTTPRequester)) *HTTPRequester
NewHTTPRequester makes Requester with api and parameters. Sets defaults url has a complete url of the request like https://cdn.optimizely.com/datafiles/24234.json
func (HTTPRequester) Do ¶
Do executes request and returns response body for requested uri (sdkKey.json).
func (HTTPRequester) Get ¶
func (r HTTPRequester) Get(headers ...Header) (response []byte, code int, err error)
Get executes HTTP GET with uri and optional extra headers, returns body in []bytes url created as url+sdkKey.json
func (HTTPRequester) GetObj ¶
func (r HTTPRequester) GetObj(result interface{}, headers ...Header) error
GetObj executes HTTP GET with uri and optional extra headers, returns filled object
func (HTTPRequester) String ¶
func (r HTTPRequester) String() string
type PollingProjectConfigManager ¶
type PollingProjectConfigManager struct {
// contains filtered or unexported fields
}
PollingProjectConfigManager maintains a dynamic copy of the project config
func NewPollingProjectConfigManager ¶
func NewPollingProjectConfigManager(ctx context.Context, sdkKey string) *PollingProjectConfigManager
NewPollingProjectConfigManager returns an instance of the polling config manager with the default configuration
func NewPollingProjectConfigManagerWithOptions ¶
func NewPollingProjectConfigManagerWithOptions(ctx context.Context, sdkKey string, options PollingProjectConfigManagerOptions) *PollingProjectConfigManager
NewPollingProjectConfigManagerWithOptions returns new instance of PollingProjectConfigManager with the given options
func (*PollingProjectConfigManager) GetConfig ¶
func (cm *PollingProjectConfigManager) GetConfig() optimizely.ProjectConfig
GetConfig returns the project config
type PollingProjectConfigManagerOptions ¶
type PollingProjectConfigManagerOptions struct { Datafile []byte PollingInterval time.Duration Requester Requester }
PollingProjectConfigManagerOptions used to create an instance with custom configuration
type Requester ¶
type Requester interface { Get(...Header) (response []byte, code int, err error) GetObj(result interface{}, headers ...Header) error }
Requester is used to make outbound requests with
type StaticProjectConfigManager ¶
type StaticProjectConfigManager struct {
// contains filtered or unexported fields
}
StaticProjectConfigManager maintains a static copy of the project config
func NewStaticProjectConfigManager ¶
func NewStaticProjectConfigManager(config optimizely.ProjectConfig) *StaticProjectConfigManager
NewStaticProjectConfigManager creates a new instance of the manager with the given project config
func NewStaticProjectConfigManagerFromPayload ¶
func NewStaticProjectConfigManagerFromPayload(payload []byte) (*StaticProjectConfigManager, error)
NewStaticProjectConfigManagerFromPayload returns new instance of StaticProjectConfigManager for payload
func NewStaticProjectConfigManagerFromURL ¶
func NewStaticProjectConfigManagerFromURL(URL string) (*StaticProjectConfigManager, error)
NewStaticProjectConfigManagerFromURL returns new instance of StaticProjectConfigManager for URL
func (*StaticProjectConfigManager) GetConfig ¶
func (cm *StaticProjectConfigManager) GetConfig() optimizely.ProjectConfig
GetConfig returns the project config