mirror of
https://github.com/RaidMax/IW4M-Admin.git
synced 2025-06-10 07:13:58 -05:00
refactor logging in pretty big overhaul
This commit is contained in:
@ -1,9 +1,8 @@
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using SharedLibraryCore.Interfaces;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using ILogger = Microsoft.Extensions.Logging.ILogger;
|
||||
|
||||
namespace WebfrontCore.Middleware
|
||||
{
|
||||
@ -22,7 +21,7 @@ namespace WebfrontCore.Middleware
|
||||
/// </summary>
|
||||
/// <param name="nextRequest"></param>
|
||||
/// <param name="whitelistedIps">list of textual ip addresses</param>
|
||||
public IPWhitelist(RequestDelegate nextRequest, ILogger logger, string[] whitelistedIps)
|
||||
public IPWhitelist(RequestDelegate nextRequest, ILogger<IPWhitelist> logger, string[] whitelistedIps)
|
||||
{
|
||||
_whitelistedIps = whitelistedIps.Select(_ip => System.Net.IPAddress.Parse(_ip).GetAddressBytes()).ToArray();
|
||||
_nextRequest = nextRequest;
|
||||
@ -31,21 +30,21 @@ namespace WebfrontCore.Middleware
|
||||
|
||||
public async Task Invoke(HttpContext context)
|
||||
{
|
||||
bool isAlllowed = true;
|
||||
var isAllowed = true;
|
||||
|
||||
if (_whitelistedIps.Length > 0)
|
||||
{
|
||||
isAlllowed = _whitelistedIps.Any(_ip => _ip.SequenceEqual(context.Connection.RemoteIpAddress.GetAddressBytes()));
|
||||
isAllowed = _whitelistedIps.Any(_ip => _ip.SequenceEqual(context.Connection.RemoteIpAddress.GetAddressBytes()));
|
||||
}
|
||||
|
||||
if (isAlllowed)
|
||||
if (isAllowed)
|
||||
{
|
||||
await _nextRequest.Invoke(context);
|
||||
}
|
||||
|
||||
else
|
||||
{
|
||||
_logger.WriteInfo($"Blocking HTTP request from {context.Connection.RemoteIpAddress.ToString()}");
|
||||
_logger.LogDebug("Blocking HTTP request from {ipAddress}", context.Connection.RemoteIpAddress);
|
||||
context.Abort();
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user