Skip to content

Commit fc74b2b

Browse files
authored
[FSSDK-8991]refact: Updating example code and sdkKey to use decide. (#377)
* Updating code and sdkKey to use decide.
1 parent e7ad036 commit fc74b2b

File tree

1 file changed

+34
-25
lines changed

1 file changed

+34
-25
lines changed

examples/main.go

Lines changed: 34 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -9,53 +9,57 @@ import (
99

1010
optimizely "github.com/optimizely/go-sdk"
1111
"github.com/optimizely/go-sdk/pkg/client"
12-
"github.com/optimizely/go-sdk/pkg/config"
1312
"github.com/optimizely/go-sdk/pkg/event"
1413
"github.com/optimizely/go-sdk/pkg/logging"
1514
)
1615

1716
func main() {
18-
sdkKey := "4SLpaJA1r1pgE6T2CoMs9q"
17+
sdkKey := "RZKHh5HhUExLvpeieGZnD"
1918
logging.SetLogLevel(logging.LogLevelDebug)
2019

21-
user := optimizely.UserContext(
22-
"mike ng",
23-
map[string]interface{}{
24-
"country": "Unknown",
25-
"likes_donuts": true,
26-
},
27-
)
28-
2920
/************* Bad SDK Key ********************/
3021

31-
optimizelyClient, err := optimizely.Client("some_key")
32-
enabled, err := optimizelyClient.IsFeatureEnabled("mutext_feat", user)
33-
if err == config.Err403Forbidden {
34-
fmt.Println("A Valid 403 error received:", config.Err403Forbidden)
22+
if optimizelyClient, err := optimizely.Client("some_key"); err == nil {
23+
userContext := optimizelyClient.CreateUserContext("user1", map[string]interface{}{
24+
"country": "Unknown",
25+
"likes_donuts": true,
26+
})
27+
decision := userContext.Decide("mutext_feat", nil)
28+
fmt.Printf("Is feature enabled? %v\n", decision.Enabled)
29+
if len(decision.Reasons[0]) > 0 {
30+
fmt.Println("A Valid 403 error received:", decision.Reasons[0])
31+
}
3532
}
3633

3734
/************* Simple usage ********************/
3835

39-
optimizelyClient, err = optimizely.Client(sdkKey)
40-
enabled, _ = optimizelyClient.IsFeatureEnabled("mutext_feat", user)
41-
42-
fmt.Printf("Is feature enabled? %v\n", enabled)
36+
if optimizelyClient, err := optimizely.Client(sdkKey); err == nil {
37+
userContext := optimizelyClient.CreateUserContext("user1", map[string]interface{}{
38+
"country": "US",
39+
"likes_donuts": false,
40+
})
41+
decision := userContext.Decide("mutext_feat", nil)
42+
fmt.Printf("Is feature enabled? %v\n", decision.Enabled)
43+
}
4344

44-
/************* StaticClient ********************/
45+
// /************* StaticClient ********************/
4546

4647
optimizelyFactory := &client.OptimizelyFactory{
4748
SDKKey: sdkKey,
4849
}
4950

50-
optimizelyClient, err = optimizelyFactory.StaticClient()
51-
51+
optimizelyClient, err := optimizelyFactory.StaticClient()
5252
if err != nil {
5353
fmt.Printf("Error instantiating client: %s", err)
5454
return
5555
}
5656

57-
enabled, _ = optimizelyClient.IsFeatureEnabled("mutext_feat", user)
58-
fmt.Printf("Is feature enabled? %v\n", enabled)
57+
userContext := optimizelyClient.CreateUserContext("user1", map[string]interface{}{
58+
"country": "Unknown",
59+
"likes_donuts": true,
60+
})
61+
decision := userContext.Decide("mutext_feat", nil)
62+
fmt.Printf("Is feature enabled? %v\n", decision.Enabled)
5963

6064
fmt.Println()
6165
optimizelyClient.Close() // user can close dispatcher
@@ -74,8 +78,13 @@ func main() {
7478
return
7579
}
7680

77-
enabled, _ = optimizelyClient.IsFeatureEnabled("mutext_feat", user)
78-
fmt.Printf("Is feature enabled? %v\n", enabled)
81+
userContext = optimizelyClient.CreateUserContext("user1", map[string]interface{}{
82+
"country": "Unknown",
83+
"likes_donuts": true,
84+
})
85+
decision = userContext.Decide("mutext_feat", nil)
86+
fmt.Printf("Is feature enabled? %v\n", decision.Enabled)
87+
7988
optimizelyClient.Close() // user can close dispatcher
8089

8190
/************* Setting Polling Interval ********************/

0 commit comments

Comments
 (0)