Skip to content

Commit f00bff4

Browse files
authored
Merge pull request #1 from feature-flags-co/feature/1.0-final
feature/1.0-final: enhance log and support offline mode
2 parents 1f1af79 + 6531348 commit f00bff4

30 files changed

+33
-24
lines changed

ffc-java-springboot-web/src/main/java/co/featureflags/spring/FeatureFlagHandler.java

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,27 +52,34 @@ public boolean preHandle(HttpServletRequest request, HttpServletResponse respons
5252
RouteMapping[] others = gate.others();
5353
if (StringUtils.isEmpty(flagValue)) {
5454
boolean enabled = client.isEnabled(featureFlagKey);
55-
if (enabled || StringUtils.isEmpty(fallback)) {
56-
return enabled;
55+
if (enabled) {
56+
LOG.info("FFC JAVA Integration: User {}, Feature Flag {}, Flag Value {}, go to {}", user.getKey(), featureFlagKey, enabled, request.getRequestURI());
57+
return true;
58+
} else if (StringUtils.isEmpty(fallback)) {
59+
return false;
5760
} else {
5861
fallback = rebuildUrl(request, fallback);
62+
LOG.info("FFC JAVA Integration: User {}, Feature Flag {}, Flag Value {}, redirect to {}", user.getKey(), featureFlagKey, false, fallback);
5963
request.getRequestDispatcher(fallback).forward(request, response);
6064
return false;
6165
}
6266
} else {
6367
String variation = client.variation(featureFlagKey, "");
6468
if (StringUtils.isNotEmpty(variation) && flagValue.equals(variation)) {
69+
LOG.info("FFC JAVA Integration: User {}, Feature Flag {}, Flag Value {}, go to {}", user.getKey(), featureFlagKey, variation, request.getRequestURI());
6570
return true;
6671
}
6772
for (RouteMapping routeMapping : others) {
6873
if (routeMapping.value().equals(variation)) {
6974
String url = rebuildUrl(request, routeMapping.path());
75+
LOG.info("FFC JAVA Integration: User {}, Feature Flag {}, Flag Value {}, redirect to {}", user.getKey(), featureFlagKey, variation, url);
7076
request.getRequestDispatcher(url).forward(request, response);
7177
return false;
7278
}
7379
}
7480
if (StringUtils.isNotEmpty(fallback)) {
7581
fallback = rebuildUrl(request, fallback);
82+
LOG.info("FFC JAVA Integration: User {}, Feature Flag {}, Flag Value {}, redirect to {}", user.getKey(), featureFlagKey, variation, fallback);
7683
request.getRequestDispatcher(fallback).forward(request, response);
7784
}
7885
return false;

ffc-java-springboot/src/main/java/co/featureflags/spring/FFCClientConfigProperties.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,5 +22,7 @@ public class FFCClientConfigProperties {
2222

2323
private String proxyPassword;
2424

25+
private boolean offline = false;
26+
2527

2628
}

ffc-java-springboot/src/main/java/co/featureflags/spring/FFCClientConfiguration.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ public FFCClient ffcClient(FFCClientConfigProperties properties) {
3636
InsightProcessorBuilder insightProcessorBuilder = Factory.insightProcessorFactory()
3737
.eventUri(properties.getEventUri());
3838
FFCConfig config = new FFCConfig.Builder()
39-
.offline(false)
39+
.offline(properties.isOffline())
4040
.startWaitTime(Duration.ofSeconds(properties.getStartWait()))
4141
.httpConfigFactory(builder)
4242
.updateProcessorFactory(streamingBuilder)

maven-repo/co/featureflags/ffc-java-springboot-parent/maven-metadata.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,6 @@
88
<version>0.1</version>
99
<version>1.0</version>
1010
</versions>
11-
<lastUpdated>20220410092111</lastUpdated>
11+
<lastUpdated>20220428153732</lastUpdated>
1212
</versioning>
1313
</metadata>
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
1a56b72421686971b1130b73e0186970
1+
b7f93178aab88d54b644f9f078fab3a4
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
f7381563cd0f5588a4d43d94d602503cbca7c28b
1+
f263fc7082b8c2f1758e598b76356a85a22e00bf
Binary file not shown.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
c9e7bc1a87aba41689a2f1320e0cc6a6
1+
c2babc9e218cba0e19dac0f6871acb32
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
4a4c0a248ca7e79c588f2b88f27824df40cb9f4c
1+
d576130b4cc03e7401f66c20122f8b61d5ff9a5d
Binary file not shown.

0 commit comments

Comments
 (0)