using NCC;
using NCC.Dependency;
using System;
namespace Microsoft.AspNetCore.Builder
{
///
/// 应用中间件拓展类(由框架内部调用)
///
[SuppressSniffer]
public static class AppApplicationBuilderExtensions
{
///
/// 注入基础中间件(带Swagger)
///
///
/// 空字符串将为首页
///
///
public static IApplicationBuilder UseInject(this IApplicationBuilder app, string routePrefix = default, Action configure = null)
{
// 载入中间件配置选项
var configureOptions = new InjectConfigureOptions();
configure?.Invoke(configureOptions);
app.UseSpecificationDocuments(routePrefix, configureOptions?.SpecificationDocumentConfigure);
return app;
}
///
/// 注入基础中间件
///
///
///
public static IApplicationBuilder UseInjectBase(this IApplicationBuilder app)
{
return app;
}
///
/// 添加应用中间件
///
/// 应用构建器
/// 应用配置
/// 应用构建器
internal static IApplicationBuilder UseApp(this IApplicationBuilder app, Action configure = null)
{
// 调用自定义服务
configure?.Invoke(app);
return app;
}
}
}