refactor: Projektdateien migriert. Cloud-NuGet-Pakete durch lokale NuGet-Projekte ersetzt.
This commit is contained in:
52
HRD.WebApi/Middleware/WebApiMiddleware.cs
Normal file
52
HRD.WebApi/Middleware/WebApiMiddleware.cs
Normal file
@@ -0,0 +1,52 @@
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using System.IO;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace HRD.WebApi.DAL.Middleware
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets the current API resource name from HTTP context
|
||||
/// </summary>
|
||||
/// <param name="httpContext">The HTTP context</param>
|
||||
/// <returns>The current resource name if available, otherwise an empty string</returns>
|
||||
|
||||
public class WebApiMiddleware
|
||||
{
|
||||
private readonly RequestDelegate _next;
|
||||
|
||||
public WebApiMiddleware(RequestDelegate next)
|
||||
{
|
||||
_next = next;
|
||||
}
|
||||
|
||||
public async Task InvokeAsync(HttpContext httpContext)
|
||||
{
|
||||
try
|
||||
{
|
||||
var loglevel = WebApiConfig.GetMonitoringWebRequestLevel(httpContext.Request.Method, httpContext.Request.Path.Value);
|
||||
if (loglevel == AppLogger.EN_LoggingLevel.Info
|
||||
|| loglevel == AppLogger.EN_LoggingLevel.Warn
|
||||
|| loglevel == AppLogger.EN_LoggingLevel.Error
|
||||
)
|
||||
{
|
||||
var requestReader = new StreamReader(httpContext.Request.Body);
|
||||
var requestContent = await requestReader.ReadToEndAsync();
|
||||
if (string.IsNullOrEmpty(requestContent))
|
||||
{
|
||||
requestContent = $"{httpContext.Request.Method} {httpContext.Request.Path.Value}";
|
||||
}
|
||||
AppLogger.ILoggerManager logger = new AppLogger.LoggerManager();
|
||||
if (loglevel == AppLogger.EN_LoggingLevel.Info) { logger.LogInfo(requestContent); }
|
||||
if (loglevel == AppLogger.EN_LoggingLevel.Warn) { logger.LogWarn(requestContent); }
|
||||
if (loglevel == AppLogger.EN_LoggingLevel.Error) { logger.LogError(requestContent); }
|
||||
}
|
||||
}
|
||||
catch (System.Exception)
|
||||
{
|
||||
//throw;
|
||||
}
|
||||
|
||||
await _next(httpContext).ConfigureAwait(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user