diff --git a/CHANGELOG.md b/CHANGELOG.md index 71b1efe35f..9051b78506 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,8 +2,9 @@ ## Unreleased -## Fixes +### Fixes +- SentryHttpMessageHandler added when AddHttpClient is before UseSentry ([#2390](https://github.com/getsentry/sentry-dotnet/pull/2390)) - Set the native sdk name for Android ([#2389](https://github.com/getsentry/sentry-dotnet/pull/2389)) ## 3.33.0 diff --git a/src/Sentry.Extensions.Logging/Extensions/DependencyInjection/ServiceCollectionExtensions.cs b/src/Sentry.Extensions.Logging/Extensions/DependencyInjection/ServiceCollectionExtensions.cs index 839a34ddc6..2c19f126a0 100644 --- a/src/Sentry.Extensions.Logging/Extensions/DependencyInjection/ServiceCollectionExtensions.cs +++ b/src/Sentry.Extensions.Logging/Extensions/DependencyInjection/ServiceCollectionExtensions.cs @@ -40,7 +40,8 @@ public static IServiceCollection AddSentry(this IServiceCollection ser // Custom handler for HttpClientFactory. // Must be singleton: https://github.com/getsentry/sentry-dotnet/issues/785 - services.TryAddSingleton(); + // Must use AddSingleton: https://github.com/getsentry/sentry-dotnet/issues/2373 + services.AddSingleton(); return services; } diff --git a/src/Sentry.Extensions.Logging/SentryHttpMessageHandlerBuilderFilter.cs b/src/Sentry.Extensions.Logging/SentryHttpMessageHandlerBuilderFilter.cs index 82858cc1d6..f35cad05d9 100644 --- a/src/Sentry.Extensions.Logging/SentryHttpMessageHandlerBuilderFilter.cs +++ b/src/Sentry.Extensions.Logging/SentryHttpMessageHandlerBuilderFilter.cs @@ -14,7 +14,13 @@ public Action Configure(Action { var hub = _getHub(); - handlerBuilder.AdditionalHandlers.Add(new SentryHttpMessageHandler(hub)); + if (!handlerBuilder.AdditionalHandlers.Any(h => h is SentryHttpMessageHandler)) + { + handlerBuilder.AdditionalHandlers.Add( + new SentryHttpMessageHandler(hub) + ); + } + next(handlerBuilder); }; }