Browse Source

Change async methods to sync.

pull/14164/head
maliming 4 years ago
parent
commit
095c6f7b84
No known key found for this signature in database GPG Key ID: 96224957E51C89E
  1. 2
      framework/src/Volo.Abp.AspNetCore.Mvc.Dapr.EventBus/Volo/Abp/AspNetCore/Mvc/Dapr/EventBus/Controllers/AbpAspNetCoreMvcDaprEventsController.cs
  2. 24
      framework/src/Volo.Abp.AspNetCore.Mvc.Dapr/Volo/Abp/AspNetCore/Mvc/Dapr/DaprAppApiTokenValidator.cs
  3. 18
      framework/src/Volo.Abp.AspNetCore.Mvc.Dapr/Volo/Abp/AspNetCore/Mvc/Dapr/DaprHttpContextExtensions.cs
  4. 8
      framework/src/Volo.Abp.AspNetCore.Mvc.Dapr/Volo/Abp/AspNetCore/Mvc/Dapr/IDaprAppApiTokenValidator.cs
  5. 9
      framework/src/Volo.Abp.Dapr/Volo/Abp/Dapr/AbpDaprClientFactory.cs
  6. 8
      framework/src/Volo.Abp.Dapr/Volo/Abp/Dapr/AbpDaprModule.cs
  7. 9
      framework/src/Volo.Abp.Dapr/Volo/Abp/Dapr/DaprApiTokenProvider.cs
  8. 5
      framework/src/Volo.Abp.Dapr/Volo/Abp/Dapr/IAbpDaprClientFactory.cs
  9. 6
      framework/src/Volo.Abp.Dapr/Volo/Abp/Dapr/IDaprApiTokenProvider.cs
  10. 2
      framework/src/Volo.Abp.DistributedLocking.Dapr/Volo/Abp/DistributedLocking/Dapr/DaprAbpDistributedLock.cs
  11. 2
      framework/src/Volo.Abp.EventBus.Dapr/Volo/Abp/EventBus/Dapr/DaprDistributedEventBus.cs

2
framework/src/Volo.Abp.AspNetCore.Mvc.Dapr.EventBus/Volo/Abp/AspNetCore/Mvc/Dapr/EventBus/Controllers/AbpAspNetCoreMvcDaprEventsController.cs

@ -18,7 +18,7 @@ public class AbpAspNetCoreMvcDaprEventsController : AbpController
[HttpPost(AbpAspNetCoreMvcDaprPubSubConsts.DaprEventCallbackUrl)]
public virtual async Task<IActionResult> EventAsync()
{
await HttpContext.ValidateDaprAppApiTokenAsync();
HttpContext.ValidateDaprAppApiToken();
var daprSerializer = HttpContext.RequestServices.GetRequiredService<IDaprSerializer>();
var request = (await JsonDocument.ParseAsync(HttpContext.Request.Body)).Deserialize<AbpDaprSubscriptionRequest<object>>(CreateJsonSerializerOptions(daprSerializer));

24
framework/src/Volo.Abp.AspNetCore.Mvc.Dapr/Volo/Abp/AspNetCore/Mvc/Dapr/DaprAppApiTokenValidator.cs

@ -18,15 +18,15 @@ public class DaprAppApiTokenValidator : IDaprAppApiTokenValidator, ISingletonDep
HttpContextAccessor = httpContextAccessor;
}
public virtual async Task CheckDaprAppApiTokenAsync()
public virtual void CheckDaprAppApiToken()
{
var expectedAppApiToken = await GetConfiguredAppApiTokenOrNullAsync();
var expectedAppApiToken = GetConfiguredAppApiTokenOrNull();
if (expectedAppApiToken.IsNullOrWhiteSpace())
{
return;
}
var headerAppApiToken = await GetDaprAppApiTokenOrNullAsync();
var headerAppApiToken = GetDaprAppApiTokenOrNull();
if (headerAppApiToken.IsNullOrWhiteSpace())
{
throw new AbpAuthorizationException("Expected Dapr App API Token is not provided! Dapr should set the 'dapr-api-token' HTTP header.");
@ -38,35 +38,35 @@ public class DaprAppApiTokenValidator : IDaprAppApiTokenValidator, ISingletonDep
}
}
public virtual async Task<bool> IsValidDaprAppApiTokenAsync()
public virtual bool IsValidDaprAppApiToken()
{
var expectedAppApiToken = await GetConfiguredAppApiTokenOrNullAsync();
var expectedAppApiToken = GetConfiguredAppApiTokenOrNull();
if (expectedAppApiToken.IsNullOrWhiteSpace())
{
return true;
}
var headerAppApiToken = await GetDaprAppApiTokenOrNullAsync();
var headerAppApiToken = GetDaprAppApiTokenOrNull();
return expectedAppApiToken == headerAppApiToken;
}
public virtual Task<string> GetDaprAppApiTokenOrNullAsync()
public virtual string GetDaprAppApiTokenOrNull()
{
string apiTokenHeader = HttpContext.Request.Headers["dapr-api-token"];
if (string.IsNullOrEmpty(apiTokenHeader) || apiTokenHeader.Length < 1)
{
return Task.FromResult<string>(null);
return null;
}
return Task.FromResult(apiTokenHeader);
return apiTokenHeader;
}
protected virtual async Task<string> GetConfiguredAppApiTokenOrNullAsync()
protected virtual string GetConfiguredAppApiTokenOrNull()
{
return await HttpContext
return HttpContext
.RequestServices
.GetRequiredService<IDaprApiTokenProvider>()
.GetAppApiTokenAsync();
.GetAppApiToken();
}
protected virtual HttpContext GetHttpContext()

18
framework/src/Volo.Abp.AspNetCore.Mvc.Dapr/Volo/Abp/AspNetCore/Mvc/Dapr/DaprHttpContextExtensions.cs

@ -6,27 +6,27 @@ namespace Volo.Abp.AspNetCore.Mvc.Dapr;
public static class DaprHttpContextExtensions
{
public static async Task ValidateDaprAppApiTokenAsync(this HttpContext httpContext)
public static void ValidateDaprAppApiToken(this HttpContext httpContext)
{
await httpContext
httpContext
.RequestServices
.GetRequiredService<IDaprAppApiTokenValidator>()
.CheckDaprAppApiTokenAsync();
.CheckDaprAppApiToken();
}
public static async Task<bool> IsValidDaprAppApiTokenAsync(this HttpContext httpContext)
public static bool IsValidDaprAppApiToken(this HttpContext httpContext)
{
return await httpContext
return httpContext
.RequestServices
.GetRequiredService<IDaprAppApiTokenValidator>()
.IsValidDaprAppApiTokenAsync();
.IsValidDaprAppApiToken();
}
public static async Task<string> GetDaprAppApiTokenOrNullAsync(HttpContext httpContext)
public static string GetDaprAppApiTokenOrNull(HttpContext httpContext)
{
return await httpContext
return httpContext
.RequestServices
.GetRequiredService<IDaprAppApiTokenValidator>()
.GetDaprAppApiTokenOrNullAsync();
.GetDaprAppApiTokenOrNull();
}
}

8
framework/src/Volo.Abp.AspNetCore.Mvc.Dapr/Volo/Abp/AspNetCore/Mvc/Dapr/IDaprAppApiTokenValidator.cs

@ -1,12 +1,10 @@
using System.Threading.Tasks;
namespace Volo.Abp.AspNetCore.Mvc.Dapr;
public interface IDaprAppApiTokenValidator
{
Task CheckDaprAppApiTokenAsync();
void CheckDaprAppApiToken();
Task<bool> IsValidDaprAppApiTokenAsync();
bool IsValidDaprAppApiToken();
Task<string> GetDaprAppApiTokenOrNullAsync();
string GetDaprAppApiTokenOrNull();
}

9
framework/src/Volo.Abp.Dapr/Volo/Abp/Dapr/AbpDaprClientFactory.cs

@ -1,7 +1,6 @@
using System;
using System.Net.Http;
using System.Text.Json;
using System.Threading.Tasks;
using Dapr.Client;
using Microsoft.Extensions.Options;
using Volo.Abp.DependencyInjection;
@ -25,7 +24,7 @@ public class AbpDaprClientFactory : IAbpDaprClientFactory, ISingletonDependency
JsonSerializerOptions = CreateJsonSerializerOptions(systemTextJsonSerializerOptions.Value);
}
public virtual async Task<DaprClient> CreateAsync(Action<DaprClientBuilder> builderAction = null)
public virtual DaprClient Create(Action<DaprClientBuilder> builderAction = null)
{
var builder = new DaprClientBuilder()
.UseJsonSerializationOptions(JsonSerializerOptions);
@ -40,7 +39,7 @@ public class AbpDaprClientFactory : IAbpDaprClientFactory, ISingletonDependency
builder.UseGrpcEndpoint(DaprOptions.GrpcEndpoint);
}
var apiToken = await DaprApiTokenProvider.GetDaprApiTokenAsync();
var apiToken = DaprApiTokenProvider.GetDaprApiToken();
if (!apiToken.IsNullOrWhiteSpace())
{
builder.UseDaprApiToken(apiToken);
@ -51,7 +50,7 @@ public class AbpDaprClientFactory : IAbpDaprClientFactory, ISingletonDependency
return builder.Build();
}
public virtual async Task<HttpClient> CreateHttpClientAsync(
public virtual HttpClient CreateHttpClient(
string appId = null,
string daprEndpoint = null,
string daprApiToken = null)
@ -65,7 +64,7 @@ public class AbpDaprClientFactory : IAbpDaprClientFactory, ISingletonDependency
return DaprClient.CreateInvokeHttpClient(
appId,
daprEndpoint,
daprApiToken ?? await DaprApiTokenProvider.GetDaprApiTokenAsync()
daprApiToken ?? DaprApiTokenProvider.GetDaprApiToken()
);
}

8
framework/src/Volo.Abp.Dapr/Volo/Abp/Dapr/AbpDaprModule.cs

@ -1,6 +1,4 @@
using System;
using System.Threading.Tasks;
using Dapr.Client;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.DependencyInjection.Extensions;
@ -17,6 +15,12 @@ public class AbpDaprModule : AbpModule
var configuration = context.Services.GetConfiguration();
ConfigureDaprOptions(configuration);
context.Services.TryAddSingleton(
serviceProvider => serviceProvider
.GetRequiredService<IAbpDaprClientFactory>()
.Create()
);
}
private void ConfigureDaprOptions(IConfiguration configuration)

9
framework/src/Volo.Abp.Dapr/Volo/Abp/Dapr/DaprApiTokenProvider.cs

@ -1,4 +1,3 @@
using System.Threading.Tasks;
using Microsoft.Extensions.Options;
using Volo.Abp.DependencyInjection;
@ -13,13 +12,13 @@ public class DaprApiTokenProvider : IDaprApiTokenProvider, ISingletonDependency
Options = options.Value;
}
public virtual Task<string> GetDaprApiTokenAsync()
public virtual string GetDaprApiToken()
{
return Task.FromResult(Options.DaprApiToken);
return Options.DaprApiToken;
}
public virtual Task<string> GetAppApiTokenAsync()
public virtual string GetAppApiToken()
{
return Task.FromResult(Options.AppApiToken);
return Options.AppApiToken;
}
}

5
framework/src/Volo.Abp.Dapr/Volo/Abp/Dapr/IAbpDaprClientFactory.cs

@ -1,15 +1,14 @@
using System;
using System.Net.Http;
using System.Threading.Tasks;
using Dapr.Client;
namespace Volo.Abp.Dapr;
public interface IAbpDaprClientFactory
{
Task<DaprClient> CreateAsync(Action<DaprClientBuilder> builderAction = null);
DaprClient Create(Action<DaprClientBuilder> builderAction = null);
Task<HttpClient> CreateHttpClientAsync(
HttpClient CreateHttpClient(
string appId = null,
string daprEndpoint = null,
string daprApiToken = null

6
framework/src/Volo.Abp.Dapr/Volo/Abp/Dapr/IDaprApiTokenProvider.cs

@ -1,10 +1,8 @@
using System.Threading.Tasks;
namespace Volo.Abp.Dapr;
public interface IDaprApiTokenProvider
{
Task<string> GetDaprApiTokenAsync();
string GetDaprApiToken();
Task<string> GetAppApiTokenAsync();
string GetAppApiToken();
}

2
framework/src/Volo.Abp.DistributedLocking.Dapr/Volo/Abp/DistributedLocking/Dapr/DaprAbpDistributedLock.cs

@ -31,7 +31,7 @@ public class DaprAbpDistributedLock : IAbpDistributedLock, ITransientDependency
{
name = DistributedLockKeyNormalizer.NormalizeKey(name);
var daprClient = await DaprClientFactory.CreateAsync();
var daprClient = DaprClientFactory.Create();
var lockResponse = await daprClient.Lock(
DistributedLockDaprOptions.StoreName,
name,

2
framework/src/Volo.Abp.EventBus.Dapr/Volo/Abp/EventBus/Dapr/DaprDistributedEventBus.cs

@ -201,7 +201,7 @@ public class DaprDistributedEventBus : DistributedEventBusBase, ISingletonDepend
protected virtual async Task PublishToDaprAsync(string eventName, object eventData)
{
var client = await DaprClientFactory.CreateAsync();
var client = DaprClientFactory.Create();
await client.PublishEventAsync(pubsubName: DaprEventBusOptions.PubSubName, topicName: eventName, data: eventData);
}

Loading…
Cancel
Save