using Newtonsoft.Json;
using Newtonsoft.Json.Serialization;
using System.Reflection;
namespace RSecurityBackend.Utilities
{
///
/// Audit.NET Environment Skipping
/// https://stackoverflow.com/questions/59627835/dont-include-environment-in-serialised-auditevents
///
public class AuditNetEnvironmentSkippingContractResolver : DefaultContractResolver
{
///
/// instance
///
public static readonly AuditNetEnvironmentSkippingContractResolver Instance = new AuditNetEnvironmentSkippingContractResolver();
///
/// create property
///
///
///
///
protected override JsonProperty CreateProperty(MemberInfo member, MemberSerialization memberSerialization)
{
JsonProperty property = base.CreateProperty(member, memberSerialization);
property.ShouldSerialize = instance => member.Name != "Environment";
return property;
}
}
}