Add single csv values so that there is a single response header added per value.
This commit is contained in:
parent
88fa7fb51a
commit
b1ade8f2cf
|
|
@ -137,7 +137,9 @@ namespace Microsoft.AspNet.Cors.Core
|
|||
|
||||
if (nonSimpleAllowMethods.Length > 0)
|
||||
{
|
||||
headers.Add(CorsConstants.AccessControlAllowMethods, nonSimpleAllowMethods);
|
||||
headers.SetCommaSeparatedValues(
|
||||
CorsConstants.AccessControlAllowMethods,
|
||||
nonSimpleAllowMethods);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -151,7 +153,9 @@ namespace Microsoft.AspNet.Cors.Core
|
|||
|
||||
if (nonSimpleAllowRequestHeaders.Length > 0)
|
||||
{
|
||||
headers.Add(CorsConstants.AccessControlAllowHeaders, nonSimpleAllowRequestHeaders);
|
||||
headers.SetCommaSeparatedValues(
|
||||
CorsConstants.AccessControlAllowHeaders,
|
||||
nonSimpleAllowRequestHeaders);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -162,9 +166,12 @@ namespace Microsoft.AspNet.Cors.Core
|
|||
.Where(header =>
|
||||
!CorsConstants.SimpleResponseHeaders.Contains(header, StringComparer.OrdinalIgnoreCase))
|
||||
.ToArray();
|
||||
|
||||
if (nonSimpleAllowResponseHeaders.Length > 0)
|
||||
{
|
||||
headers.Add(CorsConstants.AccessControlExposeHeaders, nonSimpleAllowResponseHeaders.ToArray());
|
||||
headers.SetCommaSeparatedValues(
|
||||
CorsConstants.AccessControlExposeHeaders,
|
||||
nonSimpleAllowResponseHeaders);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -643,6 +643,8 @@ namespace Microsoft.AspNet.Cors.Core.Test
|
|||
|
||||
// Assert
|
||||
Assert.Contains("Access-Control-Allow-Methods", httpContext.Response.Headers.Keys);
|
||||
var value = Assert.Single(httpContext.Response.Headers.Values);
|
||||
Assert.Equal(new[] { "PUT,DELETE" }, value);
|
||||
var methods = httpContext.Response.Headers["Access-Control-Allow-Methods"].Split(',');
|
||||
Assert.Equal(2, methods.Length);
|
||||
Assert.Contains("PUT", methods);
|
||||
|
|
@ -721,6 +723,8 @@ namespace Microsoft.AspNet.Cors.Core.Test
|
|||
|
||||
// Assert
|
||||
Assert.Contains("Access-Control-Allow-Headers", httpContext.Response.Headers.Keys);
|
||||
var value = Assert.Single(httpContext.Response.Headers.Values);
|
||||
Assert.Equal(new[] { "foo,bar,baz" }, value);
|
||||
string[] headerValues = httpContext.Response.Headers["Access-Control-Allow-Headers"].Split(',');
|
||||
Assert.Equal(3, headerValues.Length);
|
||||
Assert.Contains("foo", headerValues);
|
||||
|
|
@ -824,6 +828,8 @@ namespace Microsoft.AspNet.Cors.Core.Test
|
|||
|
||||
// Assert
|
||||
Assert.Contains("Access-Control-Expose-Headers", httpContext.Response.Headers.Keys);
|
||||
var value = Assert.Single(httpContext.Response.Headers.Values);
|
||||
Assert.Equal(new[] { "foo,bar,baz" }, value);
|
||||
string[] exposedHeaderValues = httpContext.Response.Headers["Access-Control-Expose-Headers"].Split(',');
|
||||
Assert.Equal(3, exposedHeaderValues.Length);
|
||||
Assert.Contains("foo", exposedHeaderValues);
|
||||
|
|
|
|||
Loading…
Reference in New Issue