React to EnsureRoutingServices fix
This commit is contained in:
parent
86dcbfd0d1
commit
30a4ee1ce1
|
|
@ -9,7 +9,7 @@ namespace Microsoft.AspNet.Builder
|
||||||
{
|
{
|
||||||
public static IApplicationBuilder UseRouter([NotNull] this IApplicationBuilder builder, [NotNull] IRouter router)
|
public static IApplicationBuilder UseRouter([NotNull] this IApplicationBuilder builder, [NotNull] IRouter router)
|
||||||
{
|
{
|
||||||
return builder.Use((next) => new RouterMiddleware(next, router).Invoke);
|
return builder.UseMiddleware<RouterMiddleware>(router);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -8,6 +8,7 @@ using Microsoft.AspNet.Routing;
|
||||||
using Microsoft.AspNet.Routing.Logging;
|
using Microsoft.AspNet.Routing.Logging;
|
||||||
using Microsoft.Framework.DependencyInjection;
|
using Microsoft.Framework.DependencyInjection;
|
||||||
using Microsoft.Framework.Logging;
|
using Microsoft.Framework.Logging;
|
||||||
|
using System;
|
||||||
|
|
||||||
namespace Microsoft.AspNet.Builder
|
namespace Microsoft.AspNet.Builder
|
||||||
{
|
{
|
||||||
|
|
@ -15,10 +16,11 @@ namespace Microsoft.AspNet.Builder
|
||||||
{
|
{
|
||||||
private ILogger _logger;
|
private ILogger _logger;
|
||||||
|
|
||||||
public RouterMiddleware(RequestDelegate next, IRouter router)
|
public RouterMiddleware(RequestDelegate next, IServiceProvider services, IRouter router)
|
||||||
{
|
{
|
||||||
Next = next;
|
Next = next;
|
||||||
Router = router;
|
Router = router;
|
||||||
|
Services = services;
|
||||||
}
|
}
|
||||||
|
|
||||||
private IRouter Router
|
private IRouter Router
|
||||||
|
|
@ -33,9 +35,15 @@ namespace Microsoft.AspNet.Builder
|
||||||
set;
|
set;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private IServiceProvider Services
|
||||||
|
{
|
||||||
|
get;
|
||||||
|
set;
|
||||||
|
}
|
||||||
|
|
||||||
public async Task Invoke(HttpContext httpContext)
|
public async Task Invoke(HttpContext httpContext)
|
||||||
{
|
{
|
||||||
using (RequestServicesContainer.EnsureRequestServices(httpContext))
|
using (RequestServicesContainer.EnsureRequestServices(httpContext, Services))
|
||||||
{
|
{
|
||||||
EnsureLogger(httpContext);
|
EnsureLogger(httpContext);
|
||||||
using (_logger.BeginScope("RouterMiddleware.Invoke"))
|
using (_logger.BeginScope("RouterMiddleware.Invoke"))
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,7 @@ using Microsoft.Framework.Logging;
|
||||||
using Moq;
|
using Moq;
|
||||||
#endif
|
#endif
|
||||||
using Xunit;
|
using Xunit;
|
||||||
|
using System;
|
||||||
|
|
||||||
namespace Microsoft.AspNet.Routing
|
namespace Microsoft.AspNet.Routing
|
||||||
{
|
{
|
||||||
|
|
@ -31,13 +32,15 @@ namespace Microsoft.AspNet.Routing
|
||||||
mockContext.Setup(m => m.RequestServices.GetService(typeof(ILoggerFactory)))
|
mockContext.Setup(m => m.RequestServices.GetService(typeof(ILoggerFactory)))
|
||||||
.Returns(loggerFactory);
|
.Returns(loggerFactory);
|
||||||
|
|
||||||
|
var mockServiceProvider = new Mock<IServiceProvider>();
|
||||||
|
|
||||||
RequestDelegate next = (c) =>
|
RequestDelegate next = (c) =>
|
||||||
{
|
{
|
||||||
return Task.FromResult<object>(null);
|
return Task.FromResult<object>(null);
|
||||||
};
|
};
|
||||||
|
|
||||||
var router = new TestRouter(isHandled);
|
var router = new TestRouter(isHandled);
|
||||||
var middleware = new RouterMiddleware(next, router);
|
var middleware = new RouterMiddleware(next, mockServiceProvider.Object, router);
|
||||||
|
|
||||||
// Act
|
// Act
|
||||||
await middleware.Invoke(mockContext.Object);
|
await middleware.Invoke(mockContext.Object);
|
||||||
|
|
@ -79,7 +82,8 @@ namespace Microsoft.AspNet.Routing
|
||||||
};
|
};
|
||||||
|
|
||||||
var router = new TestRouter(isHandled);
|
var router = new TestRouter(isHandled);
|
||||||
var middleware = new RouterMiddleware(next, router);
|
var mockServiceProvider = new Mock<IServiceProvider>();
|
||||||
|
var middleware = new RouterMiddleware(next, mockServiceProvider.Object, router);
|
||||||
|
|
||||||
// Act
|
// Act
|
||||||
await middleware.Invoke(mockContext.Object);
|
await middleware.Invoke(mockContext.Object);
|
||||||
|
|
@ -114,7 +118,8 @@ namespace Microsoft.AspNet.Routing
|
||||||
};
|
};
|
||||||
|
|
||||||
var router = new TestRouter(isHandled);
|
var router = new TestRouter(isHandled);
|
||||||
var middleware = new RouterMiddleware(next, router);
|
var mockServiceProvider = new Mock<IServiceProvider>();
|
||||||
|
var middleware = new RouterMiddleware(next, mockServiceProvider.Object, router);
|
||||||
|
|
||||||
// Act
|
// Act
|
||||||
await middleware.Invoke(mockContext.Object);
|
await middleware.Invoke(mockContext.Object);
|
||||||
|
|
@ -158,7 +163,8 @@ namespace Microsoft.AspNet.Routing
|
||||||
};
|
};
|
||||||
|
|
||||||
var router = new TestRouter(isHandled);
|
var router = new TestRouter(isHandled);
|
||||||
var middleware = new RouterMiddleware(next, router);
|
var mockServiceProvider = new Mock<IServiceProvider>();
|
||||||
|
var middleware = new RouterMiddleware(next, mockServiceProvider.Object, router);
|
||||||
|
|
||||||
// Act
|
// Act
|
||||||
await middleware.Invoke(mockContext.Object);
|
await middleware.Invoke(mockContext.Object);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue