mirror of
https://github.com/wiremock/WireMock.Net.git
synced 2026-02-17 07:47:42 +01:00
47 lines
1.6 KiB
C#
47 lines
1.6 KiB
C#
#if NETCOREAPP3_1 || NET5_0_OR_GREATER
|
|
using Microsoft.AspNetCore.Builder;
|
|
using Microsoft.Extensions.DependencyInjection;
|
|
using WireMock.Types;
|
|
|
|
namespace WireMock.Owin;
|
|
|
|
internal partial class AspNetCoreSelfHost
|
|
{
|
|
public void AddCors(IServiceCollection services)
|
|
{
|
|
if (_wireMockMiddlewareOptions.CorsPolicyOptions > CorsPolicyOptions.None)
|
|
{
|
|
/* https://stackoverflow.com/questions/31942037/how-to-enable-cors-in-asp-net-core */
|
|
/* Enable Cors */
|
|
services.AddCors(corsOptions => corsOptions
|
|
.AddPolicy(CorsPolicyName,
|
|
corsPolicyBuilder =>
|
|
{
|
|
if (_wireMockMiddlewareOptions.CorsPolicyOptions.Value.HasFlag(CorsPolicyOptions.AllowAnyHeader))
|
|
{
|
|
corsPolicyBuilder.AllowAnyHeader();
|
|
}
|
|
|
|
if (_wireMockMiddlewareOptions.CorsPolicyOptions.Value.HasFlag(CorsPolicyOptions.AllowAnyMethod))
|
|
{
|
|
corsPolicyBuilder.AllowAnyMethod();
|
|
}
|
|
|
|
if (_wireMockMiddlewareOptions.CorsPolicyOptions.Value.HasFlag(CorsPolicyOptions.AllowAnyOrigin))
|
|
{
|
|
corsPolicyBuilder.AllowAnyOrigin();
|
|
}
|
|
}));
|
|
}
|
|
}
|
|
|
|
public void UseCors(IApplicationBuilder appBuilder)
|
|
{
|
|
if (_wireMockMiddlewareOptions.CorsPolicyOptions > CorsPolicyOptions.None)
|
|
{
|
|
/* Use Cors */
|
|
appBuilder.UseCors(CorsPolicyName);
|
|
}
|
|
}
|
|
}
|
|
#endif |