diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.Dapr.EventBus/DaprAspNetCore/AbpDaprEndpointRouteBuilderExtensions.cs b/framework/src/Volo.Abp.AspNetCore.Mvc.Dapr.EventBus/DaprAspNetCore/AbpDaprEndpointRouteBuilderExtensions.cs index b5866c5a68..24f68ef9ab 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc.Dapr.EventBus/DaprAspNetCore/AbpDaprEndpointRouteBuilderExtensions.cs +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.Dapr.EventBus/DaprAspNetCore/AbpDaprEndpointRouteBuilderExtensions.cs @@ -30,7 +30,7 @@ namespace Dapr /// /// An optional delegate used to configure the subscriptions. /// - public Func, Task> SubscriptionsCallback { get; set; } + public Func, Task>? SubscriptionsCallback { get; set; } } /// @@ -41,32 +41,32 @@ namespace Dapr /// /// Gets or sets the topic name. /// - public string Topic { get; set; } + public string Topic { get; set; } = default!; /// /// Gets or sets the pubsub name /// - public string PubsubName { get; set; } + public string PubsubName { get; set; } = default!; /// /// Gets or sets the route /// - public string Route { get; set; } + public string? Route { get; set; } /// /// Gets or sets the routes /// - public AbpRoutes Routes { get; set; } + public AbpRoutes? Routes { get; set; } /// /// Gets or sets the metadata. /// - public AbpMetadata Metadata { get; set; } + public AbpMetadata? Metadata { get; set; } /// /// Gets or sets the deadletter topic. /// - public string DeadLetterTopic { get; set; } + public string? DeadLetterTopic { get; set; } } /// @@ -99,12 +99,12 @@ namespace Dapr /// /// Gets or sets the default route /// - public string Default { get; set; } + public string? Default { get; set; } /// /// Gets or sets the routing rules /// - public List Rules { get; set; } + public List? Rules { get; set; } } /// @@ -115,12 +115,12 @@ namespace Dapr /// /// Gets or sets the CEL expression to match this route. /// - public string Match { get; set; } + public string Match { get; set; } = default!; /// /// Gets or sets the path of the route. /// - public string Path { get; set; } + public string Path { get; set; } = default!; } } @@ -166,7 +166,7 @@ namespace Microsoft.AspNetCore.Builder return CreateSubscribeEndPoint(endpoints, options); } - private static IEndpointConventionBuilder CreateSubscribeEndPoint(IEndpointRouteBuilder endpoints, AbpSubscribeOptions options = null) + private static IEndpointConventionBuilder CreateSubscribeEndPoint(IEndpointRouteBuilder endpoints, AbpSubscribeOptions? options = null) { if (endpoints is null) { @@ -175,7 +175,7 @@ namespace Microsoft.AspNetCore.Builder return endpoints.MapGet("dapr/subscribe", async context => { - var logger = context.RequestServices.GetRequiredService().CreateLogger("DaprTopicSubscription"); + var logger = context.RequestServices.GetService()?.CreateLogger("DaprTopicSubscription"); var dataSource = context.RequestServices.GetRequiredService(); var subscriptions = dataSource.Endpoints .OfType() @@ -185,7 +185,7 @@ namespace Microsoft.AspNetCore.Builder var topicMetadata = e.Metadata.GetOrderedMetadata(); var originalTopicMetadata = e.Metadata.GetOrderedMetadata(); - var subs = new List<(string PubsubName, string Name, string DeadLetterTopic, bool? EnableRawPayload, string Match, int Priority, Dictionary OriginalTopicMetadata, string MetadataSeparator, RoutePattern RoutePattern)>(); + var subs = new List<(string PubsubName, string Name, string? DeadLetterTopic, bool? EnableRawPayload, string Match, int Priority, Dictionary OriginalTopicMetadata, string? MetadataSeparator, RoutePattern RoutePattern)>(); for (int i = 0; i < topicMetadata.Count(); i++) { @@ -211,7 +211,7 @@ namespace Microsoft.AspNetCore.Builder { var first = e.First(); var rawPayload = e.Any(e => e.EnableRawPayload.GetValueOrDefault()); - var metadataSeparator = e.FirstOrDefault(e => !string.IsNullOrEmpty(e.MetadataSeparator)).MetadataSeparator ?? ","; + var metadataSeparator = e.FirstOrDefault(e => !string.IsNullOrEmpty(e.MetadataSeparator)).MetadataSeparator?.ToString() ?? ","; var rules = e.Where(e => !string.IsNullOrEmpty(e.Match)).ToList(); var defaultRoutes = e.Where(e => string.IsNullOrEmpty(e.Match)).Select(e => RoutePatternToString(e.RoutePattern)).ToList(); var defaultRoute = defaultRoutes.FirstOrDefault(); @@ -276,7 +276,7 @@ namespace Microsoft.AspNetCore.Builder .OrderBy(e => (e.PubsubName, e.Topic)) .ToList(); - await options?.SubscriptionsCallback(subscriptions); + await options?.SubscriptionsCallback!(subscriptions)!; await context.Response.WriteAsync(JsonSerializer.Serialize(subscriptions, new JsonSerializerOptions { diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.Dapr.EventBus/Volo.Abp.AspNetCore.Mvc.Dapr.EventBus.csproj b/framework/src/Volo.Abp.AspNetCore.Mvc.Dapr.EventBus/Volo.Abp.AspNetCore.Mvc.Dapr.EventBus.csproj index f31ded0e06..96b196b67f 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc.Dapr.EventBus/Volo.Abp.AspNetCore.Mvc.Dapr.EventBus.csproj +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.Dapr.EventBus/Volo.Abp.AspNetCore.Mvc.Dapr.EventBus.csproj @@ -5,6 +5,8 @@ net7.0 + enable + Nullable diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.Dapr.EventBus/Volo/Abp/AspNetCore/Mvc/Dapr/EventBus/Controllers/AbpAspNetCoreMvcDaprEventsController.cs b/framework/src/Volo.Abp.AspNetCore.Mvc.Dapr.EventBus/Volo/Abp/AspNetCore/Mvc/Dapr/EventBus/Controllers/AbpAspNetCoreMvcDaprEventsController.cs index b1d5bac7fb..946c39f59c 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc.Dapr.EventBus/Volo/Abp/AspNetCore/Mvc/Dapr/EventBus/Controllers/AbpAspNetCoreMvcDaprEventsController.cs +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.Dapr.EventBus/Volo/Abp/AspNetCore/Mvc/Dapr/EventBus/Controllers/AbpAspNetCoreMvcDaprEventsController.cs @@ -41,8 +41,8 @@ public class AbpAspNetCoreMvcDaprEventsController : AbpController } else { - var eventData = daprSerializer.Deserialize(data, distributedEventBus.GetEventType(topic)); - await distributedEventBus.TriggerHandlersAsync(distributedEventBus.GetEventType(topic), eventData); + var eventData = daprSerializer.Deserialize(data, distributedEventBus.GetEventType(topic!)); + await distributedEventBus.TriggerHandlersAsync(distributedEventBus.GetEventType(topic!), eventData); } return Ok(); diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.Dapr/Volo.Abp.AspNetCore.Mvc.Dapr.csproj b/framework/src/Volo.Abp.AspNetCore.Mvc.Dapr/Volo.Abp.AspNetCore.Mvc.Dapr.csproj index 03bb453ba2..1839113d06 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc.Dapr/Volo.Abp.AspNetCore.Mvc.Dapr.csproj +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.Dapr/Volo.Abp.AspNetCore.Mvc.Dapr.csproj @@ -5,6 +5,8 @@ net7.0 + enable + Nullable diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.Dapr/Volo/Abp/AspNetCore/Mvc/Dapr/DaprAppApiTokenValidator.cs b/framework/src/Volo.Abp.AspNetCore.Mvc.Dapr/Volo/Abp/AspNetCore/Mvc/Dapr/DaprAppApiTokenValidator.cs index dd0c6a5300..aa7d17072b 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc.Dapr/Volo/Abp/AspNetCore/Mvc/Dapr/DaprAppApiTokenValidator.cs +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.Dapr/Volo/Abp/AspNetCore/Mvc/Dapr/DaprAppApiTokenValidator.cs @@ -50,9 +50,9 @@ public class DaprAppApiTokenValidator : IDaprAppApiTokenValidator, ISingletonDep return expectedAppApiToken == headerAppApiToken; } - public virtual string GetDaprAppApiTokenOrNull() + public virtual string? GetDaprAppApiTokenOrNull() { - string apiTokenHeader = HttpContext.Request.Headers["dapr-api-token"]; + string? apiTokenHeader = HttpContext.Request.Headers["dapr-api-token"]; if (string.IsNullOrEmpty(apiTokenHeader) || apiTokenHeader.Length < 1) { return null; @@ -61,7 +61,7 @@ public class DaprAppApiTokenValidator : IDaprAppApiTokenValidator, ISingletonDep return apiTokenHeader; } - protected virtual string GetConfiguredAppApiTokenOrNull() + protected virtual string? GetConfiguredAppApiTokenOrNull() { return HttpContext .RequestServices diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.Dapr/Volo/Abp/AspNetCore/Mvc/Dapr/DaprHttpContextExtensions.cs b/framework/src/Volo.Abp.AspNetCore.Mvc.Dapr/Volo/Abp/AspNetCore/Mvc/Dapr/DaprHttpContextExtensions.cs index aa81765b12..e73eaec4f7 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc.Dapr/Volo/Abp/AspNetCore/Mvc/Dapr/DaprHttpContextExtensions.cs +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.Dapr/Volo/Abp/AspNetCore/Mvc/Dapr/DaprHttpContextExtensions.cs @@ -22,7 +22,7 @@ public static class DaprHttpContextExtensions .IsValidDaprAppApiToken(); } - public static string GetDaprAppApiTokenOrNull(HttpContext httpContext) + public static string? GetDaprAppApiTokenOrNull(HttpContext httpContext) { return httpContext .RequestServices diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.Dapr/Volo/Abp/AspNetCore/Mvc/Dapr/IDaprAppApiTokenValidator.cs b/framework/src/Volo.Abp.AspNetCore.Mvc.Dapr/Volo/Abp/AspNetCore/Mvc/Dapr/IDaprAppApiTokenValidator.cs index 66fd833b77..f54f0aa8cf 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc.Dapr/Volo/Abp/AspNetCore/Mvc/Dapr/IDaprAppApiTokenValidator.cs +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.Dapr/Volo/Abp/AspNetCore/Mvc/Dapr/IDaprAppApiTokenValidator.cs @@ -6,5 +6,5 @@ public interface IDaprAppApiTokenValidator bool IsValidDaprAppApiToken(); - string GetDaprAppApiTokenOrNull(); + string? GetDaprAppApiTokenOrNull(); }