Merge remote-tracking branch 'origin/release/2.2' into feature/w-m

This commit is contained in:
Pranav K 2018-10-26 11:17:05 -07:00
commit e742ce79aa
No known key found for this signature in database
GPG Key ID: 1963DA6D96C3057A
2 changed files with 13 additions and 12 deletions

View File

@ -139,13 +139,14 @@ namespace Microsoft.AspNetCore.Cors.Infrastructure
// https://fetch.spec.whatwg.org/#http-new-header-syntax
AddHeaderValues(result.AllowedExposedHeaders, policy.ExposedHeaders);
var allowedMethods = policy.AllowAnyMethod && policy.SupportsCredentials ?
new[] { result.IsPreflightRequest ? (string)context.Request.Headers[CorsConstants.AccessControlRequestMethod] : context.Request.Method }
: policy.Methods;
var allowedMethods = policy.AllowAnyMethod ?
new[] { result.IsPreflightRequest ? (string)context.Request.Headers[CorsConstants.AccessControlRequestMethod] : context.Request.Method } :
policy.Methods;
AddHeaderValues(result.AllowedMethods, allowedMethods);
var allowedHeaders = policy.AllowAnyHeader && policy.SupportsCredentials ?
context.Request.Headers.GetCommaSeparatedValues(CorsConstants.AccessControlRequestHeaders) : policy.Headers;
var allowedHeaders = policy.AllowAnyHeader ?
context.Request.Headers.GetCommaSeparatedValues(CorsConstants.AccessControlRequestHeaders) :
policy.Headers;
AddHeaderValues(result.AllowedHeaders, allowedHeaders);
}

View File

@ -433,7 +433,7 @@ namespace Microsoft.AspNetCore.Cors.Infrastructure
var result = corsService.EvaluatePolicy(requestContext, policy);
// Assert
Assert.Equal(new[] { "*" }, result.AllowedMethods);
Assert.Equal(new[] { "GET" }, result.AllowedMethods);
}
[Theory]
@ -474,12 +474,12 @@ namespace Microsoft.AspNetCore.Cors.Infrastructure
var result = corsService.EvaluatePolicy(requestContext, policy);
// Assert
Assert.Equal(new[] { "*" }, result.AllowedHeaders);
Assert.Equal(new[] { "*" }, result.AllowedMethods);
Assert.Empty(result.AllowedHeaders);
Assert.Equal(new[] { "PUT" }, result.AllowedMethods);
}
[Fact]
public void EvaluatePolicy_PreflightRequest_AllowAllHeaders()
public void EvaluatePolicy_PreflightRequest_AllowAllHeaders_ReflectsRequestHeaders()
{
// Arrange
var corsService = GetCorsService();
@ -497,8 +497,8 @@ namespace Microsoft.AspNetCore.Cors.Infrastructure
var result = corsService.EvaluatePolicy(requestContext, policy);
// Assert
Assert.Equal(new[] { "*" }, result.AllowedHeaders);
Assert.Equal(new[] { "*" }, result.AllowedMethods);
Assert.Equal(new[] { "foo", "bar" }, result.AllowedHeaders);
Assert.Equal(new[] { "PUT" }, result.AllowedMethods);
}
[Fact]
@ -522,7 +522,7 @@ namespace Microsoft.AspNetCore.Cors.Infrastructure
// Assert
Assert.Equal(new[] { "match", "foo" }, result.AllowedHeaders);
Assert.Equal(new[] { "*" }, result.AllowedMethods);
Assert.Equal(new[] { "PUT" }, result.AllowedMethods);
}
[Fact]