Cleanup AllInOne reference app
This commit is contained in:
parent
607aba1943
commit
f0ad68e800
|
|
@ -1,5 +1,5 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk.Web">
|
||||
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFrameworks>net6.0;net7.0</TargetFrameworks>
|
||||
<Nullable>enable</Nullable>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,33 @@
|
|||
using Microsoft.AspNetCore.Cors.Infrastructure;
|
||||
|
||||
namespace Elsa.AllInOne.Web.Extensions;
|
||||
|
||||
public static class CorsOptionsExtensions
|
||||
{
|
||||
private static bool AllowAny(IList<string> values) => values.Count == 0 || values[0] == "*";
|
||||
|
||||
public static void Configure(this CorsOptions options, IConfigurationSection section)
|
||||
{
|
||||
var corsPolicy = section.Get<CorsPolicy>() ?? new CorsPolicy();
|
||||
options.AddDefaultPolicy(policy => {
|
||||
var headers = corsPolicy.Headers;
|
||||
var origins = corsPolicy.Origins;
|
||||
var methods = corsPolicy.Methods;
|
||||
|
||||
if (AllowAny(headers))
|
||||
policy.AllowAnyHeader();
|
||||
else
|
||||
policy.WithHeaders(headers.ToArray());
|
||||
|
||||
if (AllowAny(origins))
|
||||
policy.AllowAnyOrigin();
|
||||
else
|
||||
policy.WithOrigins(origins.ToArray());
|
||||
|
||||
if (AllowAny(methods))
|
||||
policy.AllowAnyMethod();
|
||||
else
|
||||
policy.WithMethods(methods.ToArray());
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
@ -1,4 +1,2 @@
|
|||
@using Esprima.Ast
|
||||
@namespace Elsa.AllInOne.Web.Pages
|
||||
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
|
||||
@using Elsa.Workflows.Designer
|
||||
@namespace Elsa.AllInOne.Web.Pages
|
||||
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
|
||||
|
|
@ -1,3 +1,4 @@
|
|||
using Elsa.AllInOne.Web.Extensions;
|
||||
using Elsa.EntityFrameworkCore.Extensions;
|
||||
using Elsa.Extensions;
|
||||
using Elsa.EntityFrameworkCore.Modules.Management;
|
||||
|
|
@ -40,35 +41,13 @@ services
|
|||
.UseEmail(email => email.ConfigureOptions = options => configuration.GetSection("Smtp").Bind(options))
|
||||
.UseWebhooks(webhooks => webhooks.WebhookOptions = options => builder.Configuration.GetSection("Webhooks").Bind(options))
|
||||
.UseWorkflowsApi()
|
||||
.AddActivitiesFrom<Program>()
|
||||
.AddWorkflowsFrom<Program>()
|
||||
);
|
||||
|
||||
services.AddHealthChecks();
|
||||
|
||||
static bool AllowAny(IList<string> Values) => Values.Count == 0 || Values[0] == "*";
|
||||
services.AddCors(cors => {
|
||||
IConfigurationSection corsPolicyConfiguration = configuration.GetSection("CorsPolicy");
|
||||
CorsPolicy corsPolicy = corsPolicyConfiguration.Get<CorsPolicy>() ?? new CorsPolicy();
|
||||
cors.AddDefaultPolicy(policy => {
|
||||
var headers = corsPolicy.Headers;
|
||||
var origins = corsPolicy.Origins;
|
||||
var methods = corsPolicy.Methods;
|
||||
|
||||
if (AllowAny(headers))
|
||||
policy.AllowAnyHeader();
|
||||
else
|
||||
policy.WithHeaders(headers.ToArray());
|
||||
|
||||
if (AllowAny(origins))
|
||||
policy.AllowAnyOrigin();
|
||||
else
|
||||
policy.WithOrigins(origins.ToArray());
|
||||
|
||||
if (AllowAny(methods))
|
||||
policy.AllowAnyMethod();
|
||||
else
|
||||
policy.WithMethods(methods.ToArray());
|
||||
});
|
||||
});
|
||||
services.AddCors(cors => cors.Configure(configuration.GetSection("CorsPolicy")));
|
||||
|
||||
// Razor Pages.
|
||||
services.AddRazorPages(options => options.Conventions.ConfigureFilter(new IgnoreAntiforgeryTokenAttribute()));
|
||||
|
|
|
|||
Loading…
Reference in a new issue