Skip to content

Commit e02fc11

Browse files
committed
Updates to support EU General Data Protection Regulations for 2018
1 parent 1b0fb60 commit e02fc11

File tree

8 files changed

+27
-16
lines changed

8 files changed

+27
-16
lines changed

src/Exceptionless/Plugins/Default/050_EnvironmentInfoPlugin.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,9 @@ public void Run(EventPluginContext context) {
1616
return;
1717

1818
var info = collector.GetEnvironmentInfo();
19+
if (!context.Client.Configuration.IncludePrivateInformation)
20+
info.IpAddress = null;
21+
1922
info.InstallId = context.Client.Configuration.GetInstallId();
2023
context.Event.Data[Event.KnownDataKeys.EnvironmentInfo] = info;
2124
} catch (Exception ex) {

src/Platforms/Exceptionless.AspNetCore/ExceptionlessExtensions.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ public static void ReadFromConfiguration(this ExceptionlessConfiguration config,
8989
/// <param name="context">The http context to gather information from.</param>
9090
/// <param name="config">The config.</param>
9191
public static RequestInfo GetRequestInfo(this HttpContext context, ExceptionlessConfiguration config) {
92-
return RequestInfoCollector.Collect(context, config.DataExclusions);
92+
return RequestInfoCollector.Collect(context, config);
9393
}
9494

9595
/// <summary>

src/Platforms/Exceptionless.AspNetCore/RequestInfoCollector.cs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,17 +11,19 @@
1111

1212
namespace Exceptionless.AspNetCore {
1313
internal static class RequestInfoCollector {
14-
public static RequestInfo Collect(HttpContext context, IEnumerable<string> exclusions) {
14+
public static RequestInfo Collect(HttpContext context, ExceptionlessConfiguration config) {
1515
if (context == null)
1616
return null;
1717

1818
var info = new RequestInfo {
19-
ClientIpAddress = context.GetClientIpAddress(),
2019
HttpMethod = context.Request.Method,
2120
IsSecure = context.Request.IsHttps,
2221
Path = context.Request.Path.HasValue ? context.Request.Path.Value : "/",
2322
};
2423

24+
if (config.IncludePrivateInformation)
25+
info.ClientIpAddress = context.GetClientIpAddress();
26+
2527
if (!String.IsNullOrEmpty(context.Request.Host.Host))
2628
info.Host = context.Request.Host.Host;
2729

@@ -34,7 +36,7 @@ public static RequestInfo Collect(HttpContext context, IEnumerable<string> exclu
3436
if (context.Request.Headers.ContainsKey(HeaderNames.Referer))
3537
info.Referrer = context.Request.Headers[HeaderNames.Referer].ToString();
3638

37-
var exclusionList = exclusions as string[] ?? exclusions.ToArray();
39+
var exclusionList = config.DataExclusions as string[] ?? config.DataExclusions.ToArray();
3840
info.Cookies = context.Request.Cookies.ToDictionary(exclusionList);
3941
info.QueryString = context.Request.Query.ToDictionary(exclusionList);
4042

src/Platforms/Exceptionless.Nancy/ExceptionlessNancyExtensions.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ private static void AfterRequest(NancyContext context) {
6565
/// <param name="context">The nancy context to gather information from.</param>
6666
/// <param name="config">The config.</param>
6767
public static RequestInfo GetRequestInfo(this NancyContext context, ExceptionlessConfiguration config) {
68-
return RequestInfoCollector.Collect(context, config.DataExclusions);
68+
return RequestInfoCollector.Collect(context, config);
6969
}
7070

7171
public static Event AddRequestInfo(this Event ev, NancyContext context) {

src/Platforms/Exceptionless.Nancy/RequestInfoCollector.cs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,17 @@
99

1010
namespace Exceptionless.ExtendedData {
1111
internal static class RequestInfoCollector {
12-
public static RequestInfo Collect(NancyContext context, IEnumerable<string> exclusions) {
12+
public static RequestInfo Collect(NancyContext context, ExceptionlessConfiguration config) {
1313
if (context == null)
1414
return null;
1515

1616
var info = new RequestInfo {
17-
ClientIpAddress = context.Request.UserHostAddress,
1817
HttpMethod = context.Request.Method
1918
};
2019

20+
if (config.IncludePrivateInformation)
21+
info.ClientIpAddress = context.Request.UserHostAddress;
22+
2123
if (!String.IsNullOrWhiteSpace(context.Request.Headers.UserAgent))
2224
info.UserAgent = context.Request.Headers.UserAgent;
2325

@@ -31,7 +33,7 @@ public static RequestInfo Collect(NancyContext context, IEnumerable<string> excl
3133
if (!String.IsNullOrWhiteSpace(context.Request.Headers.Referrer))
3234
info.Referrer = context.Request.Headers.Referrer;
3335

34-
var exclusionsArray = exclusions as string[] ?? exclusions.ToArray();
36+
var exclusionsArray = config.DataExclusions as string[] ?? config.DataExclusions.ToArray();
3537
info.Cookies = context.Request.Cookies.ToDictionary(exclusionsArray);
3638

3739
if (context.Request.Url != null && !String.IsNullOrWhiteSpace(context.Request.Url.Query))

src/Platforms/Exceptionless.Web/RequestInfoCollector.cs

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,12 @@ public static RequestInfo Collect(HttpContextBase context, ExceptionlessConfigur
2323
Path = String.IsNullOrEmpty(context.Request.Path) ? "/" : context.Request.Path
2424
};
2525

26-
try {
27-
info.ClientIpAddress = GetUserIPAddress(context);
28-
} catch (ArgumentException ex) {
29-
config.Resolver.GetLog().Error(ex, "An error occurred while setting the Client Ip Address.");
26+
if (config.IncludePrivateInformation) {
27+
try {
28+
info.ClientIpAddress = GetUserIPAddress(context);
29+
} catch (ArgumentException ex) {
30+
config.Resolver.GetLog().Error(ex, "An error occurred while setting the Client Ip Address.");
31+
}
3032
}
3133

3234
try {

src/Platforms/Exceptionless.WebApi/ExceptionlessWebApiExtensions.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ private static void ReplaceHttpErrorHandler(HttpConfiguration config, Exceptionl
6565
/// <param name="context">The http action context to gather information from.</param>
6666
/// <param name="config">The config.</param>
6767
public static RequestInfo GetRequestInfo(this HttpActionContext context, ExceptionlessConfiguration config) {
68-
return RequestInfoCollector.Collect(context, config.DataExclusions);
68+
return RequestInfoCollector.Collect(context, config);
6969
}
7070

7171
/// <summary>

src/Platforms/Exceptionless.WebApi/RequestInfoCollector.cs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,17 @@
1212

1313
namespace Exceptionless.ExtendedData {
1414
internal static class RequestInfoCollector {
15-
public static RequestInfo Collect(HttpActionContext context, IEnumerable<string> exclusions) {
15+
public static RequestInfo Collect(HttpActionContext context, ExceptionlessConfiguration config) {
1616
if (context == null)
1717
return null;
1818

1919
var info = new RequestInfo {
20-
ClientIpAddress = context.Request.GetClientIpAddress(),
2120
HttpMethod = context.Request.Method.Method
2221
};
2322

23+
if (config.IncludePrivateInformation)
24+
info.ClientIpAddress = context.Request.GetClientIpAddress();
25+
2426
if (context.Request.Headers.UserAgent != null)
2527
info.UserAgent = context.Request.Headers.UserAgent.ToString();
2628

@@ -34,7 +36,7 @@ public static RequestInfo Collect(HttpActionContext context, IEnumerable<string>
3436
if (context.Request.Headers.Referrer != null)
3537
info.Referrer = context.Request.Headers.Referrer.ToString();
3638

37-
var exclusionList = exclusions as string[] ?? exclusions.ToArray();
39+
var exclusionList = config.DataExclusions as string[] ?? config.DataExclusions.ToArray();
3840
info.Cookies = context.Request.Headers.GetCookies().ToDictionary(exclusionList);
3941
info.QueryString = context.Request.RequestUri.ParseQueryString().ToDictionary(exclusionList);
4042

0 commit comments

Comments
 (0)