Skip to content

Commit bbc2d91

Browse files
Chris Martinezcommonsensesoftware
Chris Martinez
authored andcommitted
Update route policy to use composition instead of service location
1 parent e9d1a5f commit bbc2d91

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

src/Microsoft.AspNetCore.Mvc.Versioning/Microsoft.Extensions.DependencyInjection/IServiceCollectionExtensions.cs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,14 +67,19 @@ static void AddMvcOptions( MvcOptions mvcOptions, ApiVersioningOptions options )
6767

6868
sealed class InjectApiVersionRoutePolicy : IStartupFilter
6969
{
70+
readonly IApiVersionRoutePolicy routePolicy;
71+
72+
public InjectApiVersionRoutePolicy( IApiVersionRoutePolicy routePolicy ) => this.routePolicy = routePolicy;
73+
7074
public Action<IApplicationBuilder> Configure( Action<IApplicationBuilder> next )
7175
{
7276
Contract.Requires( next != null );
77+
Contract.Ensures( Contract.Result<Action<IApplicationBuilder>>() != null );
7378

7479
return app =>
7580
{
7681
next( app );
77-
app.UseRouter( builder => builder.Routes.Add( builder.ServiceProvider.GetRequiredService<IApiVersionRoutePolicy>() ) );
82+
app.UseRouter( builder => builder.Routes.Add( routePolicy ) );
7883
};
7984
}
8085
}

0 commit comments

Comments
 (0)