diff --git a/src/OpenFeature.Contrib.Providers.Flagd/OpenFeature.Contrib.Providers.Flagd.csproj b/src/OpenFeature.Contrib.Providers.Flagd/OpenFeature.Contrib.Providers.Flagd.csproj index 9e1fe6c1..8af94cd4 100644 --- a/src/OpenFeature.Contrib.Providers.Flagd/OpenFeature.Contrib.Providers.Flagd.csproj +++ b/src/OpenFeature.Contrib.Providers.Flagd/OpenFeature.Contrib.Providers.Flagd.csproj @@ -23,9 +23,6 @@ - - - diff --git a/src/OpenFeature.Contrib.Providers.Flagd/Resolver/InProcess/CustomEvaluators/FractionalEvaluator.cs b/src/OpenFeature.Contrib.Providers.Flagd/Resolver/InProcess/CustomEvaluators/FractionalEvaluator.cs index 928f9d1a..f685d3c2 100644 --- a/src/OpenFeature.Contrib.Providers.Flagd/Resolver/InProcess/CustomEvaluators/FractionalEvaluator.cs +++ b/src/OpenFeature.Contrib.Providers.Flagd/Resolver/InProcess/CustomEvaluators/FractionalEvaluator.cs @@ -3,7 +3,6 @@ using System.Linq; using System.Text; using JsonLogic.Net; -using Microsoft.Extensions.Logging; using Murmur; using Newtonsoft.Json.Linq; using Semver; @@ -13,21 +12,8 @@ namespace OpenFeature.Contrib.Providers.Flagd.Resolver.InProcess.CustomEvaluator /// public class FractionalEvaluator { - - internal ILogger Logger { get; set; } - internal FractionalEvaluator() { - var loggerFactory = LoggerFactory.Create( - builder => builder - // add console as logging target - .AddConsole() - // add debug output as logging target - .AddDebug() - // set minimum level to log - .SetMinimumLevel(LogLevel.Debug) - ); - Logger = loggerFactory.CreateLogger(); } class FractionalEvaluationDistribution @@ -118,7 +104,6 @@ internal object Evaluate(IProcessJsonLogic p, JToken[] args, object data) } } - Logger.LogDebug("No matching bucket found"); return ""; } } diff --git a/src/OpenFeature.Contrib.Providers.Flagd/Resolver/InProcess/CustomEvaluators/SemVerEvaluator.cs b/src/OpenFeature.Contrib.Providers.Flagd/Resolver/InProcess/CustomEvaluators/SemVerEvaluator.cs index 1e993515..a25c968d 100644 --- a/src/OpenFeature.Contrib.Providers.Flagd/Resolver/InProcess/CustomEvaluators/SemVerEvaluator.cs +++ b/src/OpenFeature.Contrib.Providers.Flagd/Resolver/InProcess/CustomEvaluators/SemVerEvaluator.cs @@ -1,7 +1,5 @@ using System; using JsonLogic.Net; -using Microsoft.Extensions.Logging; -using Microsoft.Extensions.Logging.Abstractions; using Newtonsoft.Json.Linq; using Semver; @@ -10,23 +8,10 @@ namespace OpenFeature.Contrib.Providers.Flagd.Resolver.InProcess.CustomEvaluator /// public class SemVerEvaluator { - internal ILogger Logger { get; set; } - internal SemVerEvaluator() { - var loggerFactory = LoggerFactory.Create( - builder => builder - // add console as logging target - .AddConsole() - // add debug output as logging target - .AddDebug() - // set minimum level to log - .SetMinimumLevel(LogLevel.Debug) - ); - Logger = loggerFactory.CreateLogger(); } - const string OperatorEqual = "="; const string OperatorNotEqual = "!="; const string OperatorLess = "<"; @@ -53,37 +38,32 @@ internal object Evaluate(IProcessJsonLogic p, JToken[] args, object data) var targetVersionString = p.Apply(args[2], data).ToString(); //convert to semantic versions - try + if (!SemVersion.TryParse(versionString, SemVersionStyles.Strict, out var version) || + !SemVersion.TryParse(targetVersionString, SemVersionStyles.Strict, out var targetVersion)) { - var version = SemVersion.Parse(versionString, SemVersionStyles.Strict); - var targetVersion = SemVersion.Parse(targetVersionString, SemVersionStyles.Strict); - - switch (semVerOperator) - { - case OperatorEqual: - return version.CompareSortOrderTo(targetVersion) == 0; - case OperatorNotEqual: - return version.CompareSortOrderTo(targetVersion) != 0; - case OperatorLess: - return version.CompareSortOrderTo(targetVersion) < 0; - case OperatorLessOrEqual: - return version.CompareSortOrderTo(targetVersion) <= 0; - case OperatorGreater: - return version.CompareSortOrderTo(targetVersion) > 0; - case OperatorGreaterOrEqual: - return version.CompareSortOrderTo(targetVersion) >= 0; - case OperatorMatchMajor: - return version.Major == targetVersion.Major; - case OperatorMatchMinor: - return version.Major == targetVersion.Major && version.Minor == targetVersion.Minor; - default: - return false; - } + return false; } - catch (Exception e) + + switch (semVerOperator) { - Logger?.LogDebug("Exception during SemVer evaluation: " + e.Message); - return false; + case OperatorEqual: + return version.CompareSortOrderTo(targetVersion) == 0; + case OperatorNotEqual: + return version.CompareSortOrderTo(targetVersion) != 0; + case OperatorLess: + return version.CompareSortOrderTo(targetVersion) < 0; + case OperatorLessOrEqual: + return version.CompareSortOrderTo(targetVersion) <= 0; + case OperatorGreater: + return version.CompareSortOrderTo(targetVersion) > 0; + case OperatorGreaterOrEqual: + return version.CompareSortOrderTo(targetVersion) >= 0; + case OperatorMatchMajor: + return version.Major == targetVersion.Major; + case OperatorMatchMinor: + return version.Major == targetVersion.Major && version.Minor == targetVersion.Minor; + default: + return false; } } } diff --git a/src/OpenFeature.Contrib.Providers.Flagd/Resolver/InProcess/CustomEvaluators/StringEvaluator.cs b/src/OpenFeature.Contrib.Providers.Flagd/Resolver/InProcess/CustomEvaluators/StringEvaluator.cs index ebbcff66..f6119378 100644 --- a/src/OpenFeature.Contrib.Providers.Flagd/Resolver/InProcess/CustomEvaluators/StringEvaluator.cs +++ b/src/OpenFeature.Contrib.Providers.Flagd/Resolver/InProcess/CustomEvaluators/StringEvaluator.cs @@ -1,8 +1,6 @@ using System; using System.Runtime.InteropServices; using JsonLogic.Net; -using Microsoft.Extensions.Logging; -using Microsoft.Extensions.Logging.Abstractions; using Newtonsoft.Json.Linq; using OpenFeature.Error; using OpenFeature.Model; @@ -11,20 +9,8 @@ namespace OpenFeature.Contrib.Providers.Flagd.Resolver.InProcess.CustomEvaluator { internal class StringEvaluator { - internal ILogger Logger { get; set; } - internal StringEvaluator() { - var loggerFactory = LoggerFactory.Create( - builder => builder - // add console as logging target - .AddConsole() - // add debug output as logging target - .AddDebug() - // set minimum level to log - .SetMinimumLevel(LogLevel.Debug) - ); - Logger = loggerFactory.CreateLogger(); } internal object StartsWith(IProcessJsonLogic p, JToken[] args, object data)