|
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
using Microsoft.AspNetCore.Mvc.Routing;
namespace Microsoft.AspNetCore.Mvc.Infrastructure;
internal sealed class ControllerActionEndpointDataSourceFactory
{
private readonly ControllerActionEndpointDataSourceIdProvider _dataSourceIdProvider;
private readonly IActionDescriptorCollectionProvider _actions;
private readonly ActionEndpointFactory _factory;
public ControllerActionEndpointDataSourceFactory(
ControllerActionEndpointDataSourceIdProvider dataSourceIdProvider,
IActionDescriptorCollectionProvider actions,
ActionEndpointFactory factory)
{
_dataSourceIdProvider = dataSourceIdProvider;
_actions = actions;
_factory = factory;
}
public ControllerActionEndpointDataSource Create(OrderedEndpointsSequenceProvider orderProvider)
{
return new ControllerActionEndpointDataSource(_dataSourceIdProvider, _actions, _factory, orderProvider);
}
}
|