public CompletableFuture resolveFlags()

in sdk-java/src/main/java/com/spotify/confidence/FlagResolverClientImpl.java [27:51]


  public CompletableFuture<ResolveFlagsResponse> resolveFlags(
      String flagName, ConfidenceValue.Struct context) {
    final Instant start = Instant.now();

    final Struct.Builder evaluationContextBuilder = context.toProto().getStructValue().toBuilder();
    if (context.asMap().containsKey(OPEN_FEATURE_RESOLVE_CONTEXT_KEY)) {
      final Value openFeatureEvaluationContext =
          context.asMap().get(OPEN_FEATURE_RESOLVE_CONTEXT_KEY).toProto();

      evaluationContextBuilder.putAllFields(
          openFeatureEvaluationContext.getStructValue().getFieldsMap());
      evaluationContextBuilder.removeFields(OPEN_FEATURE_RESOLVE_CONTEXT_KEY);
    }

    return this.grpcFlagResolver
        .resolve(flagName, evaluationContextBuilder.build(), isProvider)
        .thenApply(
            response -> {
              if (telemetry != null) {
                final Instant end = Instant.now();
                telemetry.appendLatency(Duration.between(start, end).toMillis());
              }
              return response;
            });
  }