Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var DISABLED_VARIANT = &Variant{ Name: "disabled", Enabled: false, }
Functions ¶
This section is empty.
Types ¶
type Constraint ¶
type Constraint struct { // ContextName is the context name of the constraint. ContextName string `json:"contextName"` // Operator is the operator of the constraint. Operator Operator `json:"operator"` // Values is the list of target values for multi-valued constraints. Values []string `json:"values"` // Value is the target value single-value constraints. Value string `json:"value"` // CaseInsensitive makes the string operators case-insensitive. CaseInsensitive bool `json:"caseInsensitive"` // Inverted flips the constraint check result. Inverted bool `json:"inverted"` }
Constraint represents a constraint on a particular context value.
type Feature ¶
type Feature struct { // Name is the name of the feature toggle. Name string `json:"name"` // Description is a description of the feature toggle. Description string `json:"description"` // Enabled indicates whether the feature was enabled or not. Enabled bool `json:"enabled"` // Strategies is a list of names of the strategies supported by the client. Strategies []Strategy `json:"strategies"` // CreatedAt is the creation time of the feature toggle. CreatedAt time.Time `json:"createdAt"` // Strategy is the strategy of the feature toggle. Strategy string `json:"strategy"` // Parameters is the parameters of the feature toggle. Parameters ParameterMap `json:"parameters"` // Variants is a list of variants of the feature toggle. Variants []VariantInternal `json:"variants"` }
type FeatureResponse ¶
type FeatureResponse struct { Response Features []Feature `json:"features"` Segments []Segment `json:"segments"` }
func (FeatureResponse) FeatureMap ¶
func (fr FeatureResponse) FeatureMap() map[string]interface{}
func (FeatureResponse) SegmentsMap ¶ added in v3.6.0
func (fr FeatureResponse) SegmentsMap() map[int][]Constraint
type Operator ¶
type Operator string
Operator is a type representing a constraint operator
const ( // OperatorIn indicates that the context values must be // contained within those specified in the constraint. OperatorIn Operator = "IN" // OperatorNotIn indicates that the context values must // NOT be contained within those specified in the constraint. OperatorNotIn Operator = "NOT_IN" // OperatorStrContains indicates that the context value // must contain the specified substring. OperatorStrContains Operator = "STR_CONTAINS" // OperatorStrStartsWith indicates that the context value // must have the specified prefix. OperatorStrStartsWith Operator = "STR_STARTS_WITH" // OperatorStrEndsWith indicates that the context value // must have the specified suffix. OperatorStrEndsWith Operator = "STR_ENDS_WITH" // OperatorNumEq indicates that the context value // must be equal to the specified number. OperatorNumEq Operator = "NUM_EQ" // OperatorNumLt indicates that the context value // must be less than the specified number. OperatorNumLt Operator = "NUM_LT" // OperatorNumLte indicates that the context value // must be less than or equal to the specified number. OperatorNumLte Operator = "NUM_LTE" // OperatorNumGt indicates that the context value // must be greater than the specified number. OperatorNumGt Operator = "NUM_GT" // OperatorNumGte indicates that the context value // must be greater than or equal to the specified number. OperatorNumGte Operator = "NUM_GTE" // OperatorDateBefore indicates that the context value // must be before the specified date. OperatorDateBefore Operator = "DATE_BEFORE" // OperatorDateAfter indicates that the context value // must be after the specified date. OperatorDateAfter Operator = "DATE_AFTER" // OperatorSemverEq indicates that the context value // must be equal to the specified SemVer version. OperatorSemverEq Operator = "SEMVER_EQ" // OperatorSemverLt indicates that the context value // must be less than the specified SemVer version. OperatorSemverLt Operator = "SEMVER_LT" // OperatorSemverGt indicates that the context value // must be greater than the specified SemVer version. OperatorSemverGt Operator = "SEMVER_GT" )
type ParameterDescription ¶
type ParameterMap ¶
type ParameterMap map[string]interface{}
type Segment ¶ added in v3.6.0
type Segment struct { Id int `json:"id"` Constraints []Constraint `json:"constraints"` }
type Strategy ¶
type Strategy struct { // Id is the name of the strategy. Id int `json:"id"` // Name is the name of the strategy. Name string `json:"name"` // Constraints is the constraints of the strategy. Constraints []Constraint `json:"constraints"` // Parameters is the parameters of the strategy. Parameters ParameterMap `json:"parameters"` Segments []int `json:"segments"` }
type StrategyDescription ¶
type StrategyDescription struct { Name string `json:"name"` Description string `json:"description"` Parameters []ParameterDescription `json:"parameters"` }
type StrategyResponse ¶
type StrategyResponse struct { Response Strategies []StrategyDescription `json:"strategies"` }
type Variant ¶
type Variant struct { // Name is the value of the variant name. Name string `json:"name"` // Payload is the value of the variant payload Payload Payload `json:"payload"` // Enabled indicates whether the feature which is extend by this variant was enabled or not. Enabled bool `json:"enabled"` }
func GetDefaultVariant ¶
func GetDefaultVariant() *Variant
Get default variant if no variant is found
type VariantInternal ¶
type VariantInternal struct { Variant // Weight is the traffic ratio for the request Weight int `json:"weight"` // WeightType can be fixed or variable WeightType string `json:"weightType"` Stickiness string `json:"stickiness"` // Override is used to get a variant accoording to the Unleash context field Overrides []Override `json:"overrides"` }
Click to show internal directories.
Click to hide internal directories.