Browse Source
Merge pull request #17278 from abpframework/7.3-cmskit-paging-feature
Add feature check for CmsKit Page Middleware
pull/17298/head
maliming
3 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with
14 additions and
8 deletions
-
modules/cms-kit/src/Volo.CmsKit.Public.Web/DefaultHomePageMiddleware.cs
|
|
|
@ -3,6 +3,8 @@ using System.Threading.Tasks; |
|
|
|
using Microsoft.AspNetCore.Http; |
|
|
|
using Microsoft.Extensions.DependencyInjection; |
|
|
|
using Volo.Abp.DependencyInjection; |
|
|
|
using Volo.Abp.Features; |
|
|
|
using Volo.CmsKit.Features; |
|
|
|
using Volo.CmsKit.Pages; |
|
|
|
using Volo.CmsKit.Public.Pages; |
|
|
|
|
|
|
|
@ -12,18 +14,22 @@ public class DefaultHomePageMiddleware : IMiddleware, ITransientDependency |
|
|
|
{ |
|
|
|
public async Task InvokeAsync(HttpContext context, RequestDelegate next) |
|
|
|
{ |
|
|
|
if (context.Request.Path.Value == "/") |
|
|
|
var featureChecker = context.RequestServices.GetRequiredService<IFeatureChecker>(); |
|
|
|
|
|
|
|
if (await featureChecker.IsEnabledAsync(CmsKitFeatures.PageEnable)) |
|
|
|
{ |
|
|
|
var pagePublicAppService = context.RequestServices.GetRequiredService<IPagePublicAppService>(); |
|
|
|
|
|
|
|
var page = await pagePublicAppService.FindDefaultHomePageAsync(); |
|
|
|
if (page != null) |
|
|
|
if (context.Request.Path.Value == "/") |
|
|
|
{ |
|
|
|
context.Request.Path = $"{PageConsts.UrlPrefix}{page.Slug}"; |
|
|
|
var pagePublicAppService = context.RequestServices.GetRequiredService<IPagePublicAppService>(); |
|
|
|
|
|
|
|
var page = await pagePublicAppService.FindDefaultHomePageAsync(); |
|
|
|
if (page != null) |
|
|
|
{ |
|
|
|
context.Request.Path = $"{PageConsts.UrlPrefix}{page.Slug}"; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
await next(context); |
|
|
|
} |
|
|
|
} |