@@ -135,7 +135,7 @@ private <T> FlagEvaluationDetails<T> evaluateFlag(FlagValueType type, String key
135
135
OpenFeatureError error = ExceptionUtils .instantiateErrorByErrorCode (
136
136
details .getErrorCode (),
137
137
details .getErrorMessage ());
138
- details . setValue (defaultValue );
138
+ enrichDetailsWithErrorDefaults (defaultValue , details );
139
139
hookSupport .errorHooks (type , afterHookContext , error , mergedHooks , hints );
140
140
} else {
141
141
hookSupport .afterHooks (type , afterHookContext , details , mergedHooks , hints );
@@ -150,8 +150,7 @@ private <T> FlagEvaluationDetails<T> evaluateFlag(FlagValueType type, String key
150
150
details .setErrorCode (ErrorCode .GENERAL );
151
151
}
152
152
details .setErrorMessage (e .getMessage ());
153
- details .setValue (defaultValue );
154
- details .setReason (Reason .ERROR .toString ());
153
+ enrichDetailsWithErrorDefaults (defaultValue , details );
155
154
hookSupport .errorHooks (type , afterHookContext , e , mergedHooks , hints );
156
155
} finally {
157
156
hookSupport .afterAllHooks (type , afterHookContext , mergedHooks , hints );
@@ -160,6 +159,11 @@ private <T> FlagEvaluationDetails<T> evaluateFlag(FlagValueType type, String key
160
159
return details ;
161
160
}
162
161
162
+ private static <T > void enrichDetailsWithErrorDefaults (T defaultValue , FlagEvaluationDetails <T > details ) {
163
+ details .setValue (defaultValue );
164
+ details .setReason (Reason .ERROR .toString ());
165
+ }
166
+
163
167
/**
164
168
* Merge invocation contexts with API, transaction and client contexts.
165
169
* Does not merge before context.
0 commit comments