Changes per PR comments
This commit is contained in:
parent
20982a947d
commit
8a3fdb4b21
|
|
@ -125,11 +125,6 @@ namespace Microsoft.AspNetCore.Cors.Infrastructure
|
||||||
return _next(context);
|
return _next(context);
|
||||||
}
|
}
|
||||||
|
|
||||||
return InvokeCore(context, corsPolicyProvider);
|
|
||||||
}
|
|
||||||
|
|
||||||
private Task InvokeCore(HttpContext context, ICorsPolicyProvider corsPolicyProvider)
|
|
||||||
{
|
|
||||||
// CORS policy resolution rules:
|
// CORS policy resolution rules:
|
||||||
//
|
//
|
||||||
// 1. If there is an endpoint with IDisableCorsAttribute then CORS is not run
|
// 1. If there is an endpoint with IDisableCorsAttribute then CORS is not run
|
||||||
|
|
@ -191,12 +186,12 @@ namespace Microsoft.AspNetCore.Cors.Infrastructure
|
||||||
}
|
}
|
||||||
|
|
||||||
return EvaluateAndApplyPolicy(context, corsPolicy);
|
return EvaluateAndApplyPolicy(context, corsPolicy);
|
||||||
}
|
|
||||||
|
|
||||||
private async Task InvokeCoreAwaited(HttpContext context, Task<CorsPolicy> policyTask)
|
async Task InvokeCoreAwaited(HttpContext context, Task<CorsPolicy> policyTask)
|
||||||
{
|
{
|
||||||
var corsPolicy = await policyTask;
|
var corsPolicy = await policyTask;
|
||||||
await EvaluateAndApplyPolicy(context, corsPolicy);
|
await EvaluateAndApplyPolicy(context, corsPolicy);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private Task EvaluateAndApplyPolicy(HttpContext context, CorsPolicy corsPolicy)
|
private Task EvaluateAndApplyPolicy(HttpContext context, CorsPolicy corsPolicy)
|
||||||
|
|
|
||||||
|
|
@ -14,8 +14,10 @@ namespace Microsoft.AspNetCore.Cors.Infrastructure
|
||||||
{
|
{
|
||||||
private string _defaultPolicyName = "__DefaultCorsPolicy";
|
private string _defaultPolicyName = "__DefaultCorsPolicy";
|
||||||
|
|
||||||
|
// DefaultCorsPolicyProvider returns a Task<CorsPolicy>. We'll cache the value to be returned alongside
|
||||||
|
// the actual policy instance to have a separate lookup.
|
||||||
internal IDictionary<string, (CorsPolicy policy, Task<CorsPolicy> policyTask)> PolicyMap { get; }
|
internal IDictionary<string, (CorsPolicy policy, Task<CorsPolicy> policyTask)> PolicyMap { get; }
|
||||||
= new Dictionary<string, (CorsPolicy, Task<CorsPolicy>)>();
|
= new Dictionary<string, (CorsPolicy, Task<CorsPolicy>)>(StringComparer.Ordinal);
|
||||||
|
|
||||||
public string DefaultPolicyName
|
public string DefaultPolicyName
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,7 @@ namespace Microsoft.AspNetCore.Cors.Infrastructure
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public class DefaultCorsPolicyProvider : ICorsPolicyProvider
|
public class DefaultCorsPolicyProvider : ICorsPolicyProvider
|
||||||
{
|
{
|
||||||
|
private static readonly Task<CorsPolicy> NullResult = Task.FromResult<CorsPolicy>(null);
|
||||||
private readonly CorsOptions _options;
|
private readonly CorsOptions _options;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
@ -36,7 +37,7 @@ namespace Microsoft.AspNetCore.Cors.Infrastructure
|
||||||
return result.policyTask;
|
return result.policyTask;
|
||||||
}
|
}
|
||||||
|
|
||||||
return Task.FromResult<CorsPolicy>(null);
|
return NullResult;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue