Browse Source

feat(dapr): 使dapr代理请求过程可配置

pull/412/head
cKey 4 years ago
parent
commit
8c39a15379
  1. 9
      aspnet-core/modules/dapr/LINGYUN.Abp.Dapr.Client/LINGYUN/Abp/Dapr/Client/DynamicProxying/AbpDaprClientProxyOptions.cs
  2. 5
      aspnet-core/modules/dapr/LINGYUN.Abp.Dapr.Client/LINGYUN/Abp/Dapr/Client/DynamicProxying/DynamicDaprClientProxyInterceptor.cs

9
aspnet-core/modules/dapr/LINGYUN.Abp.Dapr.Client/LINGYUN/Abp/Dapr/Client/DynamicProxying/AbpDaprClientProxyOptions.cs

@ -1,5 +1,6 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Net.Http;
namespace LINGYUN.Abp.Dapr.Client.DynamicProxying namespace LINGYUN.Abp.Dapr.Client.DynamicProxying
{ {
@ -7,9 +8,17 @@ namespace LINGYUN.Abp.Dapr.Client.DynamicProxying
{ {
public Dictionary<Type, DynamicDaprClientProxyConfig> DaprClientProxies { get; set; } public Dictionary<Type, DynamicDaprClientProxyConfig> DaprClientProxies { get; set; }
/// <summary>
/// 增加一个可配置的请求消息
/// 参数一: appId
/// 参数二: HttpRequestMessage
/// </summary>
public List<Action<string, HttpRequestMessage>> ProxyRequestActions { get; }
public AbpDaprClientProxyOptions() public AbpDaprClientProxyOptions()
{ {
DaprClientProxies = new Dictionary<Type, DynamicDaprClientProxyConfig>(); DaprClientProxies = new Dictionary<Type, DynamicDaprClientProxyConfig>();
ProxyRequestActions = new List<Action<string, HttpRequestMessage>>();
} }
} }
} }

5
aspnet-core/modules/dapr/LINGYUN.Abp.Dapr.Client/LINGYUN/Abp/Dapr/Client/DynamicProxying/DynamicDaprClientProxyInterceptor.cs

@ -212,6 +212,11 @@ namespace LINGYUN.Abp.Dapr.Client.DynamicProxying
{ {
requestMessage.Headers.Authorization = httpClient.DefaultRequestHeaders.Authorization; requestMessage.Headers.Authorization = httpClient.DefaultRequestHeaders.Authorization;
} }
// 增加一个可配置的请求消息
foreach (var clientRequestAction in ClientProxyOptions.ProxyRequestActions)
{
clientRequestAction(remoteServiceConfig.AppId, requestMessage);
}
var response = await daprClient.InvokeMethodWithResponseAsync(requestMessage, GetCancellationToken()); var response = await daprClient.InvokeMethodWithResponseAsync(requestMessage, GetCancellationToken());

Loading…
Cancel
Save