Skip to content
This repository was archived by the owner on May 30, 2024. It is now read-only.

Commit 83d0bd4

Browse files
committed
Merge pull request #36 from launchdarkly/jko/send-default
Send the default value back with flag request events
2 parents 45df2f1 + 2ba0e18 commit 83d0bd4

File tree

2 files changed

+12
-7
lines changed

2 files changed

+12
-7
lines changed
Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,15 @@
11
package com.launchdarkly.client;
22

3+
import com.google.gson.annotations.SerializedName;
4+
35
class FeatureRequestEvent<E> extends Event {
46
E value;
7+
@SerializedName("default")
8+
E defaultVal;
59

6-
FeatureRequestEvent(String key, LDUser user, E value) {
10+
FeatureRequestEvent(String key, LDUser user, E value, E defaultVal) {
711
super("feature", key, user);
812
this.value = value;
13+
this.defaultVal = defaultVal;
914
}
1015
}

src/main/java/com/launchdarkly/client/LDClient.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -115,8 +115,8 @@ public void identify(LDUser user) {
115115
}
116116
}
117117

118-
private void sendFlagRequestEvent(String featureKey, LDUser user, boolean value) {
119-
boolean processed = eventProcessor.sendEvent(new FeatureRequestEvent<Boolean>(featureKey, user, value));
118+
private void sendFlagRequestEvent(String featureKey, LDUser user, boolean value, boolean defaultValue) {
119+
boolean processed = eventProcessor.sendEvent(new FeatureRequestEvent<Boolean>(featureKey, user, value, defaultValue));
120120
if (!processed) {
121121
logger.warn("Exceeded event queue capacity. Increase capacity to avoid dropping events.");
122122
}
@@ -165,22 +165,22 @@ public boolean toggle(String featureKey, LDUser user, boolean defaultValue) {
165165
}
166166
if (result == null) {
167167
logger.warn("Unknown feature flag " + featureKey + "; returning default value");
168-
sendFlagRequestEvent(featureKey, user, defaultValue);
168+
sendFlagRequestEvent(featureKey, user, defaultValue, defaultValue);
169169
return defaultValue;
170170
}
171171

172172
Boolean val = result.evaluate(user);
173173
if (val == null) {
174-
sendFlagRequestEvent(featureKey, user, defaultValue);
174+
sendFlagRequestEvent(featureKey, user, defaultValue, defaultValue);
175175
return defaultValue;
176176
} else {
177177
boolean value = val.booleanValue();
178-
sendFlagRequestEvent(featureKey, user, value);
178+
sendFlagRequestEvent(featureKey, user, value, defaultValue);
179179
return value;
180180
}
181181
} catch (Exception e) {
182182
logger.error("Encountered exception in LaunchDarkly client", e);
183-
sendFlagRequestEvent(featureKey, user, defaultValue);
183+
sendFlagRequestEvent(featureKey, user, defaultValue, defaultValue);
184184
return defaultValue;
185185
}
186186
}

0 commit comments

Comments
 (0)