/// <inheritdoc /> public Task <CorsPolicy> GetPolicyAsync(HttpContext context, string policyName) { if (context == null) { throw new ArgumentNullException(nameof(context)); } return(Task.FromResult(_options.GetPolicy(policyName ?? _options.DefaultPolicyName))); }
/// <summary> /// Looks up a policy using the <paramref name="policyName"/> and then evaluates the policy using the passed in /// <paramref name="context"/>. /// </summary> /// <param name="context"></param> /// <param name="policyName"></param> /// <returns>A <see cref="CorsResult"/> which contains the result of policy evaluation and can be /// used by the caller to set appropriate response headers.</returns> public CorsResult EvaluatePolicy(HttpContext context, string policyName) { if (context == null) { throw new ArgumentNullException(nameof(context)); } var policy = _options.GetPolicy(policyName); return(EvaluatePolicy(context, policy)); }
public void AddDefaultPolicy_OverridesDefaultPolicyName() { // Arrange var corsOptions = new CorsOptions(); var expectedPolicy = new CorsPolicy(); // Act corsOptions.AddDefaultPolicy(new CorsPolicy()); corsOptions.AddDefaultPolicy(expectedPolicy); // Assert var actualPolicy = corsOptions.GetPolicy(corsOptions.DefaultPolicyName); Assert.Same(expectedPolicy, actualPolicy); }
/// <summary> /// Looks up a policy using the <paramref name="policyName"/> and then evaluates the policy using the passed in /// <paramref name="context"/>. /// </summary> /// <param name="context"></param> /// <param name="policyName"></param> /// <returns>A <see cref="CorsResult"/> which contains the result of policy evaluation and can be /// used by the caller to set appropriate response headers.</returns> public CorsResult EvaluatePolicy(HttpContext context, string policyName) { if (context == null) { throw new ArgumentNullException(nameof(context)); } var policy = _options.GetPolicy(policyName); if (policy is null) { throw new InvalidOperationException(Resources.FormatPolicyNotFound(policyName)); } return(EvaluatePolicy(context, policy)); }
public void AddDefaultPolicy_UsingPolicyBuilder_SetsDefaultPolicyName() { // Arrange var corsOptions = new CorsOptions(); CorsPolicy expectedPolicy = null; // Act corsOptions.AddPolicy("policy1", policyBuilder => { policyBuilder.AllowAnyOrigin().Build(); }); corsOptions.AddDefaultPolicy(policyBuilder => { expectedPolicy = policyBuilder.AllowAnyOrigin().Build(); }); corsOptions.AddPolicy("policy3", new CorsPolicy()); // Assert var actualPolicy = corsOptions.GetPolicy(corsOptions.DefaultPolicyName); Assert.Same(expectedPolicy, actualPolicy); }