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,31 +29,37 @@ 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;
builder.Map(configuration.AdministrationPath, x =>
{
x.UseMvc();
});
builder.UseOcelot(new OcelotMiddlewareConfiguration());
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();
});
}
}
/// <summary>
/// Registers Ocelot with a combination of default middlewares and optional middlewares in the configuration
/// </summary>
/// <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();