using System.Linq;
using Microsoft.AspNetCore.Http;
using Serilog;
namespace API.Logging;
public static class LogEnricher
{
    /// 
    /// Enriches the HTTP request log with additional data via the Diagnostic Context
    /// 
    /// The Serilog diagnostic context
    /// The current HTTP Context
    public static void EnrichFromRequest(IDiagnosticContext diagnosticContext, HttpContext httpContext)
    {
        diagnosticContext.Set("ClientIP", httpContext.Connection.RemoteIpAddress?.ToString());
        diagnosticContext.Set("UserAgent", httpContext.Request.Headers["User-Agent"].FirstOrDefault());
        diagnosticContext.Set("Path", httpContext.Request.Path);
    }
}