/// <summary> /// Decides whether to collect user ip value or not. /// </summary> /// <param name="initialIPAddress">The initial ip address.</param> /// <param name="ipAddressCollectionPolicy">The ip address collection policy.</param> /// <returns>The IP value as System.String.</returns> private static string?DecideCollectableUserIPValue( string?initialIPAddress, IpAddressCollectionPolicy ipAddressCollectionPolicy ) { if (string.IsNullOrWhiteSpace(initialIPAddress)) { return(null); } switch (ipAddressCollectionPolicy) { case IpAddressCollectionPolicy.Collect: return(initialIPAddress); case IpAddressCollectionPolicy.CollectAnonymized: return(IpAddressUtility.Anonymize(initialIPAddress !)); case IpAddressCollectionPolicy.DoNotCollect: return(null); default: Assumption.FailValidation( "Unexpected enumeration value!" , nameof(ipAddressCollectionPolicy) ); break; } return(null); }
/// <summary> /// Initializes a new instance of the <see cref="RollbarDataSecurityOptions"/> class. /// </summary> /// <param name="personDataCollectionPolicies">The person data collection policies.</param> /// <param name="ipAddressCollectionPolicy">The ip address collection policy.</param> /// <param name="scrubFields">The scrub fields.</param> /// <param name="scrubSafeFields">The scrub safe fields.</param> public RollbarDataSecurityOptions( PersonDataCollectionPolicies personDataCollectionPolicies, IpAddressCollectionPolicy ipAddressCollectionPolicy, string[]?scrubFields = null, string[]?scrubSafeFields = null) { this.PersonDataCollectionPolicies = personDataCollectionPolicies; this.IpAddressCollectionPolicy = ipAddressCollectionPolicy; this.ScrubFields = scrubFields ?? new string[0]; this.ScrubSafelistFields = scrubSafeFields ?? new string[0]; }
private static void RequestUserIPPolicyTest( IpAddressCollectionPolicy policy , string initialUserHost , string expectedUserHost ) { var rollbarConfig = new RollbarConfig(RollbarUnitTestSettings.AccessToken); var msg = FakeHttpRequestMessage(initialUserHost); rollbarConfig.IpAddressCollectionPolicy = policy; var request = new Request(null, rollbarConfig, msg); Assert.AreEqual(expectedUserHost, request.UserIp); }
private static void RequestUserIPPolicyTest( IpAddressCollectionPolicy policy , string initialUserHost , string expectedUserHost ) { IRollbarPackage package = new MessagePackage("Some message"); var rollbarConfig = new RollbarConfig(RollbarUnitTestSettings.AccessToken); rollbarConfig.IpAddressCollectionPolicy = policy; var msg = FakeHttpRequestMessage(initialUserHost); package = new HttpRequestMessagePackageDecorator(package, msg, rollbarConfig); var request = package.PackageAsRollbarData().Request; Assert.AreEqual(expectedUserHost, request.UserIp); }