diff options
| author | Ariel Costas Guerrero <ariel@costas.dev> | 2026-03-16 13:56:06 +0100 |
|---|---|---|
| committer | Ariel Costas Guerrero <ariel@costas.dev> | 2026-03-16 13:56:15 +0100 |
| commit | 8942cf3c705bbc78a6b3317599658e9bb86dd31b (patch) | |
| tree | c02c432dad7b31fa11160f16c221dfac45255920 /src/Enmarcha.Backend | |
| parent | 3ce586243a49f34b36d0fe4099bbfb2631610f11 (diff) | |
Add legal document shenanigans
Closes #147
Diffstat (limited to 'src/Enmarcha.Backend')
3 files changed, 24 insertions, 5 deletions
diff --git a/src/Enmarcha.Backend/Program.cs b/src/Enmarcha.Backend/Program.cs index 6eddfc8..587da78 100644 --- a/src/Enmarcha.Backend/Program.cs +++ b/src/Enmarcha.Backend/Program.cs @@ -46,7 +46,28 @@ builder.Services.AddOpenTelemetry() tracing .SetResourceBuilder(ResourceBuilder.CreateDefault().AddService("Enmarcha.Backend")) .AddSource(Telemetry.Source.Name) - .AddAspNetCoreInstrumentation() + .AddAspNetCoreInstrumentation(options => + { + options.EnrichWithHttpRequest = (activity, request) => + { + var ip = request.HttpContext.Connection.RemoteIpAddress; + if (ip == null) return; + string anonymised; + if (ip.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork) + { + var bytes = ip.GetAddressBytes(); + bytes[3] = 0; + anonymised = new System.Net.IPAddress(bytes).ToString(); + } + else + { + var bytes = ip.GetAddressBytes(); + for (var i = 6; i < 16; i++) bytes[i] = 0; + anonymised = new System.Net.IPAddress(bytes).ToString(); + } + activity.SetTag("client.address", anonymised); + }; + }) .AddHttpClientInstrumentation(options => { options.EnrichWithHttpRequestMessage = (activity, req) => diff --git a/src/Enmarcha.Backend/Services/Geocoding/GeoapifyGeocodingService.cs b/src/Enmarcha.Backend/Services/Geocoding/GeoapifyGeocodingService.cs index 86386e8..ce86c49 100644 --- a/src/Enmarcha.Backend/Services/Geocoding/GeoapifyGeocodingService.cs +++ b/src/Enmarcha.Backend/Services/Geocoding/GeoapifyGeocodingService.cs @@ -26,7 +26,7 @@ public class GeoapifyGeocodingService : IGeocodingService // Geoapify requires a User-Agent if (!_httpClient.DefaultRequestHeaders.Contains("User-Agent")) { - _httpClient.DefaultRequestHeaders.Add("User-Agent", "Mozilla/5.0 (Compatible; Enmarcha/0.1; https://enmarcha.app; ariel@costas.dev)"); + _httpClient.DefaultRequestHeaders.Add("User-Agent", "Mozilla/5.0 (Compatible; Enmarcha/0.1; https://enmarcha.app; contacto@enmarcha.app)"); } } @@ -76,8 +76,6 @@ public class GeoapifyGeocodingService : IGeocodingService public async Task<PlannerSearchResult?> GetReverseGeocodeAsync(double lat, double lon) { using var activity = Telemetry.Source.StartActivity("GeoapifyReverseGeocode"); - activity?.SetTag("lat", lat); - activity?.SetTag("lon", lon); var cacheKey = $"nominatim_reverse_{lat:F5}_{lon:F5}"; var cacheHit = _cache.TryGetValue(cacheKey, out PlannerSearchResult? cachedResult); diff --git a/src/Enmarcha.Backend/Services/Geocoding/NominatimGeocodingService.cs b/src/Enmarcha.Backend/Services/Geocoding/NominatimGeocodingService.cs index c38b1e6..b58b5a4 100644 --- a/src/Enmarcha.Backend/Services/Geocoding/NominatimGeocodingService.cs +++ b/src/Enmarcha.Backend/Services/Geocoding/NominatimGeocodingService.cs @@ -26,7 +26,7 @@ public class NominatimGeocodingService : IGeocodingService // Nominatim requires a User-Agent if (!_httpClient.DefaultRequestHeaders.Contains("User-Agent")) { - _httpClient.DefaultRequestHeaders.Add("User-Agent", "Mozilla/5.0 (Compatible; Enmarcha/0.1; https://enmarcha.app; ariel@costas.dev)"); + _httpClient.DefaultRequestHeaders.Add("User-Agent", "Mozilla/5.0 (Compatible; Enmarcha/0.1; https://enmarcha.app; contacto@enmarcha.app)"); } } |
