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)