From 206642d412af7085494db47fdefa180ef4bbf87b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Tue, 6 Sep 2022 10:58:23 +0300 Subject: [PATCH] Do not use cookies for c# client proxies. --- .../ServiceCollectionHttpClientProxyExtensions.cs | 11 +++++++++++ .../Abp/Http/Client/AbpHttpClientBuilderOptions.cs | 3 +++ 2 files changed, 14 insertions(+) diff --git a/framework/src/Volo.Abp.Http.Client/Microsoft/Extensions/DependencyInjection/ServiceCollectionHttpClientProxyExtensions.cs b/framework/src/Volo.Abp.Http.Client/Microsoft/Extensions/DependencyInjection/ServiceCollectionHttpClientProxyExtensions.cs index 7bc239813d..57233ac972 100644 --- a/framework/src/Volo.Abp.Http.Client/Microsoft/Extensions/DependencyInjection/ServiceCollectionHttpClientProxyExtensions.cs +++ b/framework/src/Volo.Abp.Http.Client/Microsoft/Extensions/DependencyInjection/ServiceCollectionHttpClientProxyExtensions.cs @@ -1,5 +1,6 @@ using System; using System.Linq; +using System.Net.Http; using System.Reflection; using Castle.DynamicProxy; using JetBrains.Annotations; @@ -196,6 +197,16 @@ public static class ServiceCollectionHttpClientProxyExtensions { clientBuildAction(remoteServiceConfigurationName, provider, client); } + }).ConfigurePrimaryHttpMessageHandler((provider) => + { + var handler = new HttpClientHandler { UseCookies = false }; + + foreach (var handlerAction in preOptions.ProxyClientHandlerActions) + { + handlerAction(remoteServiceConfigurationName, provider, handler); + } + + return handler; }); foreach (var clientBuildAction in preOptions.ProxyClientBuildActions) diff --git a/framework/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/AbpHttpClientBuilderOptions.cs b/framework/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/AbpHttpClientBuilderOptions.cs index 240f35fe0a..b2ffae98a5 100644 --- a/framework/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/AbpHttpClientBuilderOptions.cs +++ b/framework/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/AbpHttpClientBuilderOptions.cs @@ -12,11 +12,14 @@ public class AbpHttpClientBuilderOptions internal HashSet ConfiguredProxyClients { get; } public List> ProxyClientActions { get; } + + public List> ProxyClientHandlerActions { get; } public AbpHttpClientBuilderOptions() { ProxyClientBuildActions = new List>(); ConfiguredProxyClients = new HashSet(); ProxyClientActions = new List>(); + ProxyClientHandlerActions = new List>(); } }