Skip to content

Commit bce4f40

Browse files
Merge pull request #371 from TransactionProcessing/deepsource-autofix-5e3928ba
refactor: use equality operator for nullable bool checks
2 parents a6e02eb + 698fce5 commit bce4f40

1 file changed

Lines changed: 61 additions & 55 deletions

File tree

Shared/Middleware/CorrelationIdMiddleware.cs

Lines changed: 61 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -16,87 +16,91 @@
1616

1717
namespace Shared.Middleware;
1818

19-
public class TenantMiddleware
20-
{
21-
#region Fields
19+
public class TenantMiddleware
20+
{
21+
#region Fields
2222

23-
private readonly RequestDelegate Next;
23+
private readonly RequestDelegate Next;
2424

25-
#endregion
25+
#endregion
2626

27-
#region Constructors
27+
#region Constructors
2828

29-
public TenantMiddleware(RequestDelegate next) {
30-
this.Next = next;
31-
}
29+
public TenantMiddleware(RequestDelegate next)
30+
{
31+
this.Next = next;
32+
}
3233

33-
public const String KeyNameCorrelationId = "correlationId";
34+
public const String KeyNameCorrelationId = "correlationId";
3435

35-
#endregion
36+
#endregion
3637

37-
public async Task InvokeAsync(HttpContext context, TenantContext tenantContext)
38-
{
39-
Stopwatch watch = Stopwatch.StartNew();
38+
public async Task InvokeAsync(HttpContext context, TenantContext tenantContext)
39+
{
40+
Stopwatch watch = Stopwatch.StartNew();
4041

41-
// Detect the tenant from the incoming request
42-
TenantIdentifiers tenantIdentifiers = await this.GetIdentifiersFromContext(context);
42+
// Detect the tenant from the incoming request
43+
TenantIdentifiers tenantIdentifiers = await this.GetIdentifiersFromContext(context);
4344

44-
Boolean.TryParse(ConfigurationReader.GetValueOrDefault("AppSettings","LogsPerTenantEnabled", "false"), out Boolean logPerTenantEnabled);
45+
Boolean.TryParse(ConfigurationReader.GetValueOrDefault("AppSettings", "LogsPerTenantEnabled", "false"), out Boolean logPerTenantEnabled);
4546

46-
// Check the headers for a correlationId
47-
context.Request.Headers.TryGetValue(KeyNameCorrelationId, out StringValues correlationIdHeader);
48-
Guid.TryParse(correlationIdHeader, out Guid correlationId);
47+
// Check the headers for a correlationId
48+
context.Request.Headers.TryGetValue(KeyNameCorrelationId, out StringValues correlationIdHeader);
49+
Guid.TryParse(correlationIdHeader, out Guid correlationId);
4950

50-
if (correlationId != Guid.Empty)
51-
{
52-
tenantContext.SetCorrelationId(correlationId);
53-
context.Items[KeyNameCorrelationId] = correlationId.ToString(); // make it accessible to HttpClient handlers
54-
}
55-
56-
tenantContext.Initialise(tenantIdentifiers, logPerTenantEnabled);
51+
if (correlationId != Guid.Empty)
52+
{
53+
tenantContext.SetCorrelationId(correlationId);
54+
context.Items[KeyNameCorrelationId] = correlationId.ToString(); // make it accessible to HttpClient handlers
55+
}
5756

58-
// Set the current tenant in the TenantContext
59-
TenantContext.CurrentTenant = tenantContext;
57+
tenantContext.Initialise(tenantIdentifiers, logPerTenantEnabled);
6058

61-
String clientIp = context.Connection.RemoteIpAddress?.ToString();
59+
// Set the current tenant in the TenantContext
60+
TenantContext.CurrentTenant = tenantContext;
6261

63-
//Makes sense to start our correlation audit trace here
64-
String logMessage = $"Receiving from {clientIp} => {context.Request.Method} {context.Request.Host}{context.Request.Path}";
62+
String clientIp = context.Connection.RemoteIpAddress?.ToString();
6563

66-
Logger.Logger.LogInformation(logMessage);
64+
//Makes sense to start our correlation audit trace here
65+
String logMessage = $"Receiving from {clientIp} => {context.Request.Method} {context.Request.Host}{context.Request.Path}";
6766

68-
// Call the next middleware
69-
await this.Next(context);
67+
Logger.Logger.LogInformation(logMessage);
7068

71-
watch.Stop();
72-
String afterMessage = $"{context.Response.StatusCode} {logMessage} Duration: {watch.ElapsedMilliseconds}ms";
73-
Logger.Logger.LogInformation(afterMessage);
74-
}
69+
// Call the next middleware
70+
await this.Next(context);
7571

76-
private async Task<TenantIdentifiers> GetIdentifiersFromContext(HttpContext context) =>
77-
context switch
78-
{
79-
_ when context.GetIdentifiersFromToken() is var identifiersFromToken && identifiersFromToken != TenantIdentifiers.Default() => identifiersFromToken,
80-
_ when context.GetIdentifiersFromHeaders() is var identifiersFromHeaders && identifiersFromHeaders != TenantIdentifiers.Default() => identifiersFromHeaders,
81-
_ when context.GetIdentifiersFromRoute() is var identifiersFromHeaders && identifiersFromHeaders != TenantIdentifiers.Default() => identifiersFromHeaders,
82-
//_ when await context.GetIdentifiersFromPayload() is var identifiersFromPayload && identifiersFromPayload != TenantIdentifiers.Default() =>
83-
//identifiersFromPayload,
84-
_ => TenantIdentifiers.Default(),
85-
};
72+
watch.Stop();
73+
String afterMessage = $"{context.Response.StatusCode} {logMessage} Duration: {watch.ElapsedMilliseconds}ms";
74+
Logger.Logger.LogInformation(afterMessage);
8675
}
8776

77+
private async Task<TenantIdentifiers> GetIdentifiersFromContext(HttpContext context) =>
78+
context switch
79+
{
80+
_ when context.GetIdentifiersFromToken() is var identifiersFromToken && identifiersFromToken != TenantIdentifiers.Default() => identifiersFromToken,
81+
_ when context.GetIdentifiersFromHeaders() is var identifiersFromHeaders && identifiersFromHeaders != TenantIdentifiers.Default() => identifiersFromHeaders,
82+
_ when context.GetIdentifiersFromRoute() is var identifiersFromHeaders && identifiersFromHeaders != TenantIdentifiers.Default() => identifiersFromHeaders,
83+
//_ when await context.GetIdentifiersFromPayload() is var identifiersFromPayload && identifiersFromPayload != TenantIdentifiers.Default() =>
84+
//identifiersFromPayload,
85+
_ => TenantIdentifiers.Default(),
86+
};
87+
}
88+
8889

8990
public static class ClaimsPrincipalExtensions
9091
{
9192
public static Boolean IsAuthenticated(this ClaimsPrincipal principal)
9293
{
93-
return principal?.Identity?.IsAuthenticated ?? false;
94+
return principal?.Identity?.IsAuthenticated == true;
9495
}
9596
}
9697

97-
public static class HttpContextExtensionMethods {
98-
public static TenantIdentifiers GetIdentifiersFromToken(this HttpContext context) {
99-
if (!context.User.IsAuthenticated()) {
98+
public static class HttpContextExtensionMethods
99+
{
100+
public static TenantIdentifiers GetIdentifiersFromToken(this HttpContext context)
101+
{
102+
if (!context.User.IsAuthenticated())
103+
{
100104
return TenantIdentifiers.Default();
101105
}
102106

@@ -109,7 +113,8 @@ public static TenantIdentifiers GetIdentifiersFromToken(this HttpContext context
109113
return estateId == Guid.Empty ? TenantIdentifiers.Default() : new TenantIdentifiers(estateId, merchantId);
110114
}
111115

112-
public static TenantIdentifiers GetIdentifiersFromHeaders(this HttpContext context) {
116+
public static TenantIdentifiers GetIdentifiersFromHeaders(this HttpContext context)
117+
{
113118
// Get the org Id
114119
context.Request.Headers.TryGetValue("estateId", out StringValues estateIdHeader);
115120
Guid.TryParse(estateIdHeader, out Guid estateId);
@@ -121,7 +126,8 @@ public static TenantIdentifiers GetIdentifiersFromHeaders(this HttpContext conte
121126
return estateId == Guid.Empty ? TenantIdentifiers.Default() : new TenantIdentifiers(estateId, merchantId);
122127
}
123128

124-
public static TenantIdentifiers GetIdentifiersFromRoute(this HttpContext context) {
129+
public static TenantIdentifiers GetIdentifiersFromRoute(this HttpContext context)
130+
{
125131
// Get the org Id
126132

127133
context.Request.RouteValues.TryGetValue("estateId", out object estateIdRouteValue);

0 commit comments

Comments
 (0)