hacking away

This commit is contained in:
Tom Gardham-Pallister 2017-02-13 18:51:47 +00:00
parent 95fc687e93
commit 159969483b
4 changed files with 28 additions and 18 deletions

View File

@ -29,20 +29,26 @@ namespace Ocelot.Middleware
/// </summary>
/// <param name="builder"></param>
/// <returns></returns>
public static IApplicationBuilder UseOcelot(this IApplicationBuilder builder)
public static async Task<IApplicationBuilder> UseOcelot(this IApplicationBuilder builder)
{
var configuration = CreateConfiguration(builder).Result;
await CreateAdministrationArea(builder);
await builder.UseOcelot(new OcelotMiddlewareConfiguration());
return builder;
}
private static async Task CreateAdministrationArea(IApplicationBuilder builder)
{
var configuration = await CreateConfiguration(builder);
if(!string.IsNullOrEmpty(configuration.AdministrationPath))
{
builder.Map(configuration.AdministrationPath, x =>
{
x.UseMvc();
});
builder.UseOcelot(new OcelotMiddlewareConfiguration());
return builder;
}
}
/// <summary>
@ -51,9 +57,9 @@ namespace Ocelot.Middleware
/// <param name="builder"></param>
/// <param name="middlewareConfiguration"></param>
/// <returns></returns>
public static IApplicationBuilder UseOcelot(this IApplicationBuilder builder, OcelotMiddlewareConfiguration middlewareConfiguration)
public static async Task<IApplicationBuilder> UseOcelot(this IApplicationBuilder builder, OcelotMiddlewareConfiguration middlewareConfiguration)
{
CreateConfiguration(builder);
await CreateAdministrationArea(builder);
// This is registered to catch any global exceptions that are not handled
builder.UseExceptionHandlerMiddleware();

View File

@ -21,7 +21,7 @@ namespace Ocelot.AcceptanceTests
}
[Fact]
public void should_return_response_200_and_foward_claim_as_header()
public void should_return_server_error()
{
var configuration = new FileConfiguration
{
@ -29,9 +29,12 @@ namespace Ocelot.AcceptanceTests
{
new FileReRoute
{
DownstreamPathTemplate = "http://localhost:53876/",
DownstreamPathTemplate = "/",
UpstreamPathTemplate = "/",
UpstreamHttpMethod = "Get"
UpstreamHttpMethod = "Get",
DownstreamPort = 53876,
DownstreamHost = "localhost",
DownstreamScheme = "http",
}
}
};

View File

@ -28,7 +28,7 @@
{
var runTime = $"{oSDescription}-{osArchitecture}".ToLower();
var configPath = $"./bin/Debug/netcoreapp{Version}/{runTime}/configuration.json";
var configPath = $"./test/Ocelot.AcceptanceTests/bin/Debug/netcoreapp{Version}/{runTime}/configuration.json";
return configPath;
}

View File

@ -1,4 +1,5 @@
using System;
using System.Threading.Tasks;
using CacheManager.Core;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
@ -43,11 +44,11 @@ namespace Ocelot.ManualTest
services.AddOcelot();
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
public async void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
loggerFactory.AddConsole(Configuration.GetSection("Logging"));
app.UseOcelot();
await app.UseOcelot();
}
}
}