config

package
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 23, 2019 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Index

Constants

View Source
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 Headers

func Headers(headers ...Header) func(r *HTTPRequester)

Headers sets request headers

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

func (r HTTPRequester) Do(method string, headers []Header) (response []byte, code int, err error)

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 Header struct {
	Name, Value string
}

Header element to be sent

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

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

GetConfig returns the project config

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL