Try your search with a different keyword or use * as a wildcard.
using Microsoft.AspNetCore.Http;
using Nop.Core;
using Nop.Data;
namespace Nop.Services.Installation;
///
/// Represents middleware that checks whether database is installed and redirects to installation URL in otherwise
///
public partial class InstallUrlMiddleware
{
#region Fields
protected readonly RequestDelegate _next;
#endregion
#region Ctor
public InstallUrlMiddleware(RequestDelegate next)
{
_next = next;
}
#endregion
#region Methods
///
/// Invoke middleware actions
///
/// HTTP context
/// Web helper
/// A task that represents the asynchronous operation
public async Task InvokeAsync(HttpContext context, IWebHelper webHelper)
{
//whether database is installed
if (!DataSettingsManager.IsDatabaseInstalled())
{
var installUrl = $"{webHelper.GetStoreLocation()}{NopInstallationDefaults.InstallPath}";
if (!webHelper.GetThisPageUrl(false).StartsWith(installUrl, StringComparison.InvariantCultureIgnoreCase))
{
//redirect
context.Response.Redirect(installUrl);
return;
}
}
//or call the next middleware in the request pipeline
await _next(context);
}
#endregion
}