|
12 | 12 | import dev.openfeature.contrib.providers.flagd.resolver.process.storage.connector.grpc.GrpcStreamConnector;
|
13 | 13 | import dev.openfeature.contrib.providers.flagd.resolver.process.targeting.Operator;
|
14 | 14 | import dev.openfeature.contrib.providers.flagd.resolver.process.targeting.TargetingRuleException;
|
| 15 | +import dev.openfeature.sdk.ErrorCode; |
15 | 16 | import dev.openfeature.sdk.EvaluationContext;
|
16 | 17 | import dev.openfeature.sdk.ImmutableMetadata;
|
17 | 18 | import dev.openfeature.sdk.ProviderEvaluation;
|
18 | 19 | import dev.openfeature.sdk.ProviderState;
|
19 | 20 | import dev.openfeature.sdk.Reason;
|
20 | 21 | import dev.openfeature.sdk.Value;
|
21 |
| -import dev.openfeature.sdk.exceptions.FlagNotFoundError; |
22 | 22 | import dev.openfeature.sdk.exceptions.ParseError;
|
23 | 23 | import dev.openfeature.sdk.exceptions.TypeMismatchError;
|
24 | 24 | import lombok.extern.slf4j.Slf4j;
|
@@ -164,12 +164,18 @@ private <T> ProviderEvaluation<T> resolve(Class<T> type, String key, EvaluationC
|
164 | 164 |
|
165 | 165 | // missing flag
|
166 | 166 | if (flag == null) {
|
167 |
| - throw new FlagNotFoundError("flag: " + key + " not found"); |
| 167 | + return ProviderEvaluation.<T>builder() |
| 168 | + .errorMessage("flag: " + key + " not found") |
| 169 | + .errorCode(ErrorCode.FLAG_NOT_FOUND) |
| 170 | + .build(); |
168 | 171 | }
|
169 | 172 |
|
170 | 173 | // state check
|
171 | 174 | if ("DISABLED".equals(flag.getState())) {
|
172 |
| - throw new FlagNotFoundError("flag: " + key + " is disabled"); |
| 175 | + return ProviderEvaluation.<T>builder() |
| 176 | + .errorMessage("flag: " + key + " is disabled") |
| 177 | + .errorCode(ErrorCode.FLAG_NOT_FOUND) |
| 178 | + .build(); |
173 | 179 | }
|
174 | 180 |
|
175 | 181 | final String resolvedVariant;
|
|
0 commit comments