Reacting to new Hosting API

This commit is contained in:
John Luo 2015-12-17 20:55:30 -08:00
parent c3c0b45225
commit 09df979acf
5 changed files with 80 additions and 53 deletions

View File

@ -5,6 +5,7 @@ using System.Linq;
using System.Net;
using System.Threading.Tasks;
using Microsoft.AspNet.Builder;
using Microsoft.AspNet.Hosting;
using Microsoft.AspNet.Http;
using Microsoft.AspNet.Http.Internal;
using Microsoft.AspNet.TestHost;
@ -20,19 +21,22 @@ namespace Microsoft.AspNet.Cors.Infrastructure
public async Task CorsRequest_MatchPolicy_SetsResponseHeaders()
{
// Arrange
using (var server = TestServer.Create(app =>
{
app.UseCors(builder =>
builder.WithOrigins("http://localhost:5001")
.WithMethods("PUT")
.WithHeaders("Header1")
.WithExposedHeaders("AllowedHeader"));
app.Run(async context =>
var appBuilder = new WebApplicationBuilder()
.Configure(app =>
{
await context.Response.WriteAsync("Cross origin response");
});
},
services => services.AddCors()))
app.UseCors(builder =>
builder.WithOrigins("http://localhost:5001")
.WithMethods("PUT")
.WithHeaders("Header1")
.WithExposedHeaders("AllowedHeader"));
app.Run(async context =>
{
await context.Response.WriteAsync("Cross origin response");
});
})
.ConfigureServices(services => services.AddCors());
using (var server = new TestServer(appBuilder))
{
// Act
// Actual request.
@ -59,21 +63,24 @@ namespace Microsoft.AspNet.Cors.Infrastructure
policy.Headers.Add("Header1");
policy.ExposedHeaders.Add("AllowedHeader");
using (var server = TestServer.Create(app =>
{
app.UseCors("customPolicy");
app.Run(async context =>
var appBuilder = new WebApplicationBuilder()
.Configure(app =>
{
await context.Response.WriteAsync("Cross origin response");
});
},
services =>
{
services.AddCors(options =>
app.UseCors("customPolicy");
app.Run(async context =>
{
await context.Response.WriteAsync("Cross origin response");
});
})
.ConfigureServices(services =>
{
options.AddPolicy("customPolicy", policy);
services.AddCors(options =>
{
options.AddPolicy("customPolicy", policy);
});
});
}))
using (var server = new TestServer(appBuilder))
{
// Act
// Preflight request.
@ -94,19 +101,22 @@ namespace Microsoft.AspNet.Cors.Infrastructure
public async Task PreFlightRequest_DoesNotMatchPolicy_DoesNotSetHeaders()
{
// Arrange
using (var server = TestServer.Create(app =>
{
app.UseCors(builder =>
builder.WithOrigins("http://localhost:5001")
.WithMethods("PUT")
.WithHeaders("Header1")
.WithExposedHeaders("AllowedHeader"));
app.Run(async context =>
var appBuilder = new WebApplicationBuilder()
.Configure(app =>
{
await context.Response.WriteAsync("Cross origin response");
});
},
services => services.AddCors()))
app.UseCors(builder =>
builder.WithOrigins("http://localhost:5001")
.WithMethods("PUT")
.WithHeaders("Header1")
.WithExposedHeaders("AllowedHeader"));
app.Run(async context =>
{
await context.Response.WriteAsync("Cross origin response");
});
})
.ConfigureServices(services => services.AddCors());
using (var server = new TestServer(appBuilder))
{
// Act
// Preflight request.
@ -125,19 +135,22 @@ namespace Microsoft.AspNet.Cors.Infrastructure
public async Task CorsRequest_DoesNotMatchPolicy_DoesNotSetHeaders()
{
// Arrange
using (var server = TestServer.Create(app =>
{
app.UseCors(builder =>
builder.WithOrigins("http://localhost:5001")
.WithMethods("PUT")
.WithHeaders("Header1")
.WithExposedHeaders("AllowedHeader"));
app.Run(async context =>
var appBuilder = new WebApplicationBuilder()
.Configure(app =>
{
await context.Response.WriteAsync("Cross origin response");
});
},
services => services.AddCors()))
app.UseCors(builder =>
builder.WithOrigins("http://localhost:5001")
.WithMethods("PUT")
.WithHeaders("Header1")
.WithExposedHeaders("AllowedHeader"));
app.Run(async context =>
{
await context.Response.WriteAsync("Cross origin response");
});
})
.ConfigureServices(services => services.AddCors());
using (var server = new TestServer(appBuilder))
{
// Act
// Actual request.

View File

@ -15,7 +15,7 @@ namespace Microsoft.AspNet.Cors.Infrastructure
public CorsTestFixture()
{
var builder = new WebHostBuilder().UseStartup<TStartup>();
var builder = new WebApplicationBuilder().UseStartup<TStartup>();
_server = new TestServer(builder);
Client = _server.CreateClient();

View File

@ -2,6 +2,7 @@
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using Microsoft.AspNet.Builder;
using Microsoft.AspNet.Hosting;
using Microsoft.Extensions.DependencyInjection;
namespace CorsMiddlewareWebSite
@ -18,5 +19,14 @@ namespace CorsMiddlewareWebSite
app.UseCors(policy => policy.WithOrigins("http://example.com"));
app.UseMiddleware<EchoMiddleware>();
}
public static void Main(string[] args)
{
var application = new WebApplicationBuilder()
.UseConfiguration(WebApplicationConfiguration.GetDefault(args))
.UseStartup<Startup>()
.Build();
application.Run();
}
}
}

View File

@ -0,0 +1,3 @@
{
"server": "Microsoft.AspNet.Server.Kestrel"
}

View File

@ -1,12 +1,13 @@
{
"compilationOptions": {
"emitEntryPoint": true
},
"commands": {
"web": "Microsoft.AspNet.Server.Kestrel",
"weblistener": "Microsoft.AspNet.Server.WebListener"
"web": "CorsMiddlewareWebSite"
},
"dependencies": {
"Microsoft.AspNet.Cors": "6.0.0-*",
"Microsoft.AspNet.Server.Kestrel": "1.0.0-*",
"Microsoft.AspNet.Server.WebListener": "1.0.0-*"
"Microsoft.AspNet.Server.Kestrel": "1.0.0-*"
},
"frameworks": {
"dnx451": { },