From cb4250f7b368a907d589c0c4ab6b526cfa9e7b65 Mon Sep 17 00:00:00 2001 From: dmolinari Date: Tue, 14 Apr 2026 13:28:35 -0300 Subject: [PATCH] feat(infra): implement ClientContext for IP and UserAgent from IHttpContextAccessor --- .../Http/ClientContext.cs | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 src/api/SIGCM2.Infrastructure/Http/ClientContext.cs diff --git a/src/api/SIGCM2.Infrastructure/Http/ClientContext.cs b/src/api/SIGCM2.Infrastructure/Http/ClientContext.cs new file mode 100644 index 0000000..0ad27ba --- /dev/null +++ b/src/api/SIGCM2.Infrastructure/Http/ClientContext.cs @@ -0,0 +1,20 @@ +using Microsoft.AspNetCore.Http; +using SIGCM2.Application.Abstractions; + +namespace SIGCM2.Infrastructure.Http; + +public sealed class ClientContext : IClientContext +{ + private readonly IHttpContextAccessor _accessor; + + public ClientContext(IHttpContextAccessor accessor) + { + _accessor = accessor; + } + + public string Ip => + _accessor.HttpContext?.Connection?.RemoteIpAddress?.ToString() ?? "0.0.0.0"; + + public string? UserAgent => + _accessor.HttpContext?.Request?.Headers.UserAgent.ToString(); +}