Rename IFilter -> IFilterMetadata

This commit is contained in:
Ryan Nowak 2015-07-06 17:24:25 -07:00
parent 57f1ae755f
commit 950b8b41a8
60 changed files with 205 additions and 205 deletions

View File

@ -10,7 +10,7 @@ namespace MvcSample.Web.Filters
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, AllowMultiple = true, Inherited = true)]
public class InspectResultPageAttribute : Attribute, IFilterFactory
{
public IFilter CreateInstance(IServiceProvider serviceProvider)
public IFilterMetadata CreateInstance(IServiceProvider serviceProvider)
{
return new InspectResultPageFilter();
}

View File

@ -15,7 +15,7 @@ namespace Microsoft.AspNet.Mvc
public ActionExecutedContext(
[NotNull] ActionContext actionContext,
[NotNull] IList<IFilter> filters,
[NotNull] IList<IFilterMetadata> filters,
object controller)
: base(actionContext, filters)
{

View File

@ -10,7 +10,7 @@ namespace Microsoft.AspNet.Mvc
{
public ActionExecutingContext(
[NotNull] ActionContext actionContext,
[NotNull] IList<IFilter> filters,
[NotNull] IList<IFilterMetadata> filters,
[NotNull] IDictionary<string, object> actionArguments,
object controller)
: base(actionContext, filters)

View File

@ -10,7 +10,7 @@ namespace Microsoft.AspNet.Mvc
{
public AuthorizationContext(
[NotNull] ActionContext actionContext,
[NotNull] IList<IFilter> filters)
[NotNull] IList<IFilterMetadata> filters)
: base(actionContext, filters)
{
}

View File

@ -13,7 +13,7 @@ namespace Microsoft.AspNet.Mvc
private Exception _exception;
private ExceptionDispatchInfo _exceptionDispatchInfo;
public ExceptionContext([NotNull] ActionContext actionContext, [NotNull] IList<IFilter> filters)
public ExceptionContext([NotNull] ActionContext actionContext, [NotNull] IList<IFilterMetadata> filters)
: base(actionContext, filters)
{
}

View File

@ -10,12 +10,12 @@ namespace Microsoft.AspNet.Mvc
{
public FilterContext(
[NotNull] ActionContext actionContext,
[NotNull] IList<IFilter> filters)
[NotNull] IList<IFilterMetadata> filters)
: base(actionContext)
{
Filters = filters;
}
public virtual IList<IFilter> Filters { get; private set; }
public virtual IList<IFilterMetadata> Filters { get; private set; }
}
}

View File

@ -6,10 +6,10 @@ using Microsoft.Framework.Internal;
namespace Microsoft.AspNet.Mvc
{
/// <summary>
/// Descriptor for an <see cref="IFilter"/>.
/// Descriptor for an <see cref="IFilterMetadata"/>.
/// </summary>
/// <remarks>
/// <see cref="FilterDescriptor"/> describes an <see cref="IFilter"/> with an order and scope.
/// <see cref="FilterDescriptor"/> describes an <see cref="IFilterMetadata"/> with an order and scope.
///
/// Order and scope control the execution order of filters. Filters with a higher value of Order execute
/// later in the pipeline.
@ -26,14 +26,14 @@ namespace Microsoft.AspNet.Mvc
/// <summary>
/// Creates a new <see cref="FilterDescriptor"/>.
/// </summary>
/// <param name="filter">The <see cref="IFilter"/>.</param>
/// <param name="filter">The <see cref="IFilterMetadata"/>.</param>
/// <param name="filterScope">The filter scope.</param>
/// <remarks>
/// If the <paramref name="filter"/> implements <see cref="IOrderedFilter"/>, then the value of
/// <see cref="Order"/> will be taken from <see cref="IOrderedFilter.Order"/>. Otherwise the value
/// of <see cref="Order"/> will default to <c>0</c>.
/// </remarks>
public FilterDescriptor([NotNull] IFilter filter, int filterScope)
public FilterDescriptor([NotNull] IFilterMetadata filter, int filterScope)
{
Filter = filter;
Scope = filterScope;
@ -47,9 +47,9 @@ namespace Microsoft.AspNet.Mvc
}
/// <summary>
/// The <see cref="IFilter"/> instance.
/// The <see cref="IFilterMetadata"/> instance.
/// </summary>
public IFilter Filter { get; private set; }
public IFilterMetadata Filter { get; private set; }
/// <summary>
/// The filter order.

View File

@ -15,7 +15,7 @@ namespace Microsoft.AspNet.Mvc
Descriptor = descriptor;
}
public FilterItem([NotNull] FilterDescriptor descriptor, [NotNull] IFilter filter)
public FilterItem([NotNull] FilterDescriptor descriptor, [NotNull] IFilterMetadata filter)
: this(descriptor)
{
Filter = filter;
@ -23,6 +23,6 @@ namespace Microsoft.AspNet.Mvc
public FilterDescriptor Descriptor { get; set; }
public IFilter Filter { get; set; }
public IFilterMetadata Filter { get; set; }
}
}

View File

@ -5,7 +5,7 @@ using Microsoft.Framework.Internal;
namespace Microsoft.AspNet.Mvc
{
public interface IActionFilter : IFilter
public interface IActionFilter : IFilterMetadata
{
void OnActionExecuting([NotNull] ActionExecutingContext context);

View File

@ -6,7 +6,7 @@ using Microsoft.Framework.Internal;
namespace Microsoft.AspNet.Mvc
{
public interface IAsyncActionFilter : IFilter
public interface IAsyncActionFilter : IFilterMetadata
{
Task OnActionExecutionAsync([NotNull] ActionExecutingContext context, [NotNull] ActionExecutionDelegate next);
}

View File

@ -6,7 +6,7 @@ using Microsoft.Framework.Internal;
namespace Microsoft.AspNet.Mvc
{
public interface IAsyncAuthorizationFilter : IFilter
public interface IAsyncAuthorizationFilter : IFilterMetadata
{
Task OnAuthorizationAsync([NotNull] AuthorizationContext context);
}

View File

@ -6,7 +6,7 @@ using Microsoft.Framework.Internal;
namespace Microsoft.AspNet.Mvc
{
public interface IAsyncExceptionFilter : IFilter
public interface IAsyncExceptionFilter : IFilterMetadata
{
Task OnExceptionAsync([NotNull] ExceptionContext context);
}

View File

@ -10,7 +10,7 @@ namespace Microsoft.AspNet.Mvc
/// A filter which surrounds execution of model binding, the action (and filters) and the action result
/// (and filters).
/// </summary>
public interface IAsyncResourceFilter : IFilter
public interface IAsyncResourceFilter : IFilterMetadata
{
/// <summary>
/// Executes the resource filter.

View File

@ -6,7 +6,7 @@ using Microsoft.Framework.Internal;
namespace Microsoft.AspNet.Mvc
{
public interface IAsyncResultFilter : IFilter
public interface IAsyncResultFilter : IFilterMetadata
{
Task OnResultExecutionAsync([NotNull] ResultExecutingContext context, [NotNull] ResultExecutionDelegate next);
}

View File

@ -5,7 +5,7 @@ using Microsoft.Framework.Internal;
namespace Microsoft.AspNet.Mvc
{
public interface IAuthorizationFilter : IFilter
public interface IAuthorizationFilter : IFilterMetadata
{
void OnAuthorization([NotNull] AuthorizationContext context);
}

View File

@ -5,7 +5,7 @@ using Microsoft.Framework.Internal;
namespace Microsoft.AspNet.Mvc
{
public interface IExceptionFilter : IFilter
public interface IExceptionFilter : IFilterMetadata
{
void OnException([NotNull] ExceptionContext context);
}

View File

@ -5,6 +5,6 @@ namespace Microsoft.AspNet.Mvc.Filters
{
public interface IFilterContainer
{
IFilter FilterDefinition { get; set; }
IFilterMetadata FilterDefinition { get; set; }
}
}

View File

@ -6,8 +6,8 @@ using Microsoft.Framework.Internal;
namespace Microsoft.AspNet.Mvc
{
public interface IFilterFactory : IFilter
public interface IFilterFactory : IFilterMetadata
{
IFilter CreateInstance([NotNull] IServiceProvider serviceProvider);
IFilterMetadata CreateInstance([NotNull] IServiceProvider serviceProvider);
}
}

View File

@ -3,7 +3,7 @@
namespace Microsoft.AspNet.Mvc
{
public interface IFilter
public interface IFilterMetadata
{
}
}

View File

@ -3,7 +3,7 @@
namespace Microsoft.AspNet.Mvc
{
public interface IOrderedFilter : IFilter
public interface IOrderedFilter : IFilterMetadata
{
/// <summary>
/// Gets the order value for determining the order of execution of filters. Filters execute in

View File

@ -9,7 +9,7 @@ namespace Microsoft.AspNet.Mvc
/// A filter which surrounds execution of model binding, the action (and filters) and the action result
/// (and filters).
/// </summary>
public interface IResourceFilter : IFilter
public interface IResourceFilter : IFilterMetadata
{
/// <summary>
/// Executes the resource filter. Called before execution of the remainder of the pipeline.

View File

@ -5,7 +5,7 @@ using Microsoft.Framework.Internal;
namespace Microsoft.AspNet.Mvc
{
public interface IResultFilter : IFilter
public interface IResultFilter : IFilterMetadata
{
void OnResultExecuting([NotNull] ResultExecutingContext context);

View File

@ -19,8 +19,8 @@ namespace Microsoft.AspNet.Mvc
/// Creates a new <see cref="ResourceExecutedContext"/>.
/// </summary>
/// <param name="actionContext">The <see cref="ActionContext"/>.</param>
/// <param name="filters">The list of <see cref="IFilter"/> instances.</param>
public ResourceExecutedContext(ActionContext actionContext, IList<IFilter> filters)
/// <param name="filters">The list of <see cref="IFilterMetadata"/> instances.</param>
public ResourceExecutedContext(ActionContext actionContext, IList<IFilterMetadata> filters)
: base(actionContext, filters)
{
}

View File

@ -17,8 +17,8 @@ namespace Microsoft.AspNet.Mvc
/// Creates a new <see cref="ResourceExecutingContext"/>.
/// </summary>
/// <param name="actionContext">The <see cref="ActionContext"/>.</param>
/// <param name="filters">The list of <see cref="IFilter"/> instances.</param>
public ResourceExecutingContext(ActionContext actionContext, IList<IFilter> filters)
/// <param name="filters">The list of <see cref="IFilterMetadata"/> instances.</param>
public ResourceExecutingContext(ActionContext actionContext, IList<IFilterMetadata> filters)
: base(actionContext, filters)
{
}

View File

@ -15,7 +15,7 @@ namespace Microsoft.AspNet.Mvc
public ResultExecutedContext(
[NotNull] ActionContext actionContext,
[NotNull] IList<IFilter> filters,
[NotNull] IList<IFilterMetadata> filters,
[NotNull] IActionResult result,
object controller)
: base(actionContext, filters)

View File

@ -10,7 +10,7 @@ namespace Microsoft.AspNet.Mvc
{
public ResultExecutingContext(
[NotNull] ActionContext actionContext,
[NotNull] IList<IFilter> filters,
[NotNull] IList<IFilterMetadata> filters,
[NotNull] IActionResult result,
object controller)
: base(actionContext, filters)

View File

@ -21,7 +21,7 @@ namespace Microsoft.AspNet.Mvc.ApplicationModels
ApiExplorer = new ApiExplorerModel();
Attributes = new List<object>(attributes);
ActionConstraints = new List<IActionConstraintMetadata>();
Filters = new List<IFilter>();
Filters = new List<IFilterMetadata>();
HttpMethods = new List<string>();
Parameters = new List<ParameterModel>();
RouteConstraints = new List<IRouteConstraintProvider>();
@ -39,7 +39,7 @@ namespace Microsoft.AspNet.Mvc.ApplicationModels
// These are just metadata, safe to create new collections
ActionConstraints = new List<IActionConstraintMetadata>(other.ActionConstraints);
Attributes = new List<object>(other.Attributes);
Filters = new List<IFilter>(other.Filters);
Filters = new List<IFilterMetadata>(other.Filters);
HttpMethods = new List<string>(other.HttpMethods);
Properties = new Dictionary<object, object>(other.Properties);
@ -78,7 +78,7 @@ namespace Microsoft.AspNet.Mvc.ApplicationModels
public ControllerModel Controller { get; set; }
public IList<IFilter> Filters { get; private set; }
public IList<IFilterMetadata> Filters { get; private set; }
public IList<string> HttpMethods { get; private set; }

View File

@ -13,7 +13,7 @@ namespace Microsoft.AspNet.Mvc.ApplicationModels
{
ApiExplorer = new ApiExplorerModel();
Controllers = new List<ControllerModel>();
Filters = new List<IFilter>();
Filters = new List<IFilterMetadata>();
Properties = new Dictionary<object, object>();
}
@ -32,7 +32,7 @@ namespace Microsoft.AspNet.Mvc.ApplicationModels
public IList<ControllerModel> Controllers { get; private set; }
public IList<IFilter> Filters { get; private set; }
public IList<IFilterMetadata> Filters { get; private set; }
/// <summary>
/// Gets a set of properties associated with all actions.

View File

@ -23,7 +23,7 @@ namespace Microsoft.AspNet.Mvc.ApplicationModels
Attributes = new List<object>(attributes);
AttributeRoutes = new List<AttributeRouteModel>();
ActionConstraints = new List<IActionConstraintMetadata>();
Filters = new List<IFilter>();
Filters = new List<IFilterMetadata>();
RouteConstraints = new List<IRouteConstraintProvider>();
Properties = new Dictionary<object, object>();
ControllerProperties = new List<PropertyModel>();
@ -40,7 +40,7 @@ namespace Microsoft.AspNet.Mvc.ApplicationModels
// These are just metadata, safe to create new collections
ActionConstraints = new List<IActionConstraintMetadata>(other.ActionConstraints);
Attributes = new List<object>(other.Attributes);
Filters = new List<IFilter>(other.Filters);
Filters = new List<IFilterMetadata>(other.Filters);
RouteConstraints = new List<IRouteConstraintProvider>(other.RouteConstraints);
Properties = new Dictionary<object, object>(other.Properties);
@ -81,7 +81,7 @@ namespace Microsoft.AspNet.Mvc.ApplicationModels
public IList<PropertyModel> ControllerProperties { get; }
public IList<IFilter> Filters { get; private set; }
public IList<IFilterMetadata> Filters { get; private set; }
public IList<IRouteConstraintProvider> RouteConstraints { get; private set; }

View File

@ -16,7 +16,7 @@ namespace Microsoft.AspNet.Mvc.ApplicationModels
{
public class DefaultApplicationModelProvider : IApplicationModelProvider
{
private readonly ICollection<IFilter> _globalFilters;
private readonly ICollection<IFilterMetadata> _globalFilters;
public DefaultApplicationModelProvider(IOptions<MvcOptions> mvcOptionsAccessor)
{
@ -173,7 +173,7 @@ namespace Microsoft.AspNet.Mvc.ApplicationModels
typeInfo.Name;
AddRange(controllerModel.ActionConstraints, attributes.OfType<IActionConstraintMetadata>());
AddRange(controllerModel.Filters, attributes.OfType<IFilter>());
AddRange(controllerModel.Filters, attributes.OfType<IFilterMetadata>());
AddRange(controllerModel.RouteConstraints, attributes.OfType<IRouteConstraintProvider>());
var apiVisibility = attributes.OfType<IApiDescriptionVisibilityProvider>().FirstOrDefault();
@ -503,7 +503,7 @@ namespace Microsoft.AspNet.Mvc.ApplicationModels
var actionModel = new ActionModel(methodInfo, attributes);
AddRange(actionModel.ActionConstraints, attributes.OfType<IActionConstraintMetadata>());
AddRange(actionModel.Filters, attributes.OfType<IFilter>());
AddRange(actionModel.Filters, attributes.OfType<IFilterMetadata>());
var actionName = attributes.OfType<ActionNameAttribute>().FirstOrDefault();
if (actionName?.Name != null)

View File

@ -373,9 +373,9 @@ namespace Microsoft.AspNet.Mvc
private static void AddActionFilters(
ControllerActionDescriptor actionDescriptor,
IEnumerable<IFilter> actionFilters,
IEnumerable<IFilter> controllerFilters,
IEnumerable<IFilter> globalFilters)
IEnumerable<IFilterMetadata> actionFilters,
IEnumerable<IFilterMetadata> controllerFilters,
IEnumerable<IFilterMetadata> globalFilters)
{
actionDescriptor.FilterDescriptors =
actionFilters.Select(f => new FilterDescriptor(f, FilterScope.Action))

View File

@ -62,7 +62,7 @@ namespace Microsoft.AspNet.Mvc.Filters
}
}
private void ApplyFilterToContainer(object actualFilter, IFilter filterMetadata)
private void ApplyFilterToContainer(object actualFilter, IFilterMetadata filterMetadata)
{
Debug.Assert(actualFilter != null, "actualFilter should not be null");
Debug.Assert(filterMetadata != null, "filterMetadata should not be null");

View File

@ -26,7 +26,7 @@ namespace Microsoft.AspNet.Mvc.Core
private readonly ILogger _logger;
private readonly int _maxModelValidationErrors;
private IFilter[] _filters;
private IFilterMetadata[] _filters;
private FilterCursor _cursor;
private AuthorizationContext _authorizationContext;
@ -162,7 +162,7 @@ namespace Microsoft.AspNet.Mvc.Core
}
}
private IFilter[] GetFilters()
private IFilterMetadata[] GetFilters()
{
var context = new FilterProviderContext(
ActionContext,
@ -759,16 +759,16 @@ namespace Microsoft.AspNet.Mvc.Core
{
private FilterStage _stage;
private int _index;
private readonly IFilter[] _filters;
private readonly IFilterMetadata[] _filters;
public FilterCursor(FilterStage stage, int index, IFilter[] filters)
public FilterCursor(FilterStage stage, int index, IFilterMetadata[] filters)
{
_stage = stage;
_index = index;
_filters = filters;
}
public FilterCursor(IFilter[] filters)
public FilterCursor(IFilterMetadata[] filters)
{
_stage = FilterStage.Undefined;
_index = 0;

View File

@ -15,43 +15,43 @@ namespace Microsoft.AspNet.Mvc
public static class FilterCollectionExtensions
{
/// <summary>
/// Adds a type representing an <see cref="IFilter"/> to a filter collection.
/// Adds a type representing an <see cref="IFilterMetadata"/> to a filter collection.
/// </summary>
/// <param name="filters">A collection of <see cref="IFilter"/>.</param>
/// <param name="filterType">Type representing an <see cref="IFilter"/>.</param>
/// <returns>An <see cref="IFilter"/> representing the added type.</returns>
/// <param name="filters">A collection of <see cref="IFilterMetadata"/>.</param>
/// <param name="filterType">Type representing an <see cref="IFilterMetadata"/>.</param>
/// <returns>An <see cref="IFilterMetadata"/> representing the added type.</returns>
/// <remarks>
/// Filter instances will be created using
/// <see cref="Microsoft.Framework.DependencyInjection.ActivatorUtilities"/>.
/// Use <see cref="AddService(ICollection{IFilter}, Type)"/> to register a service as a filter.
/// Use <see cref="AddService(ICollection{IFilterMetadata}, Type)"/> to register a service as a filter.
/// </remarks>
public static IFilter Add(
[NotNull] this ICollection<IFilter> filters,
public static IFilterMetadata Add(
[NotNull] this ICollection<IFilterMetadata> filters,
[NotNull] Type filterType)
{
return Add(filters, filterType, order: 0);
}
/// <summary>
/// Adds a type representing an <see cref="IFilter"/> to a filter collection.
/// Adds a type representing an <see cref="IFilterMetadata"/> to a filter collection.
/// </summary>
/// <param name="filters">A collection of <see cref="IFilter"/>.</param>
/// <param name="filterType">Type representing an <see cref="IFilter"/>.</param>
/// <param name="filters">A collection of <see cref="IFilterMetadata"/>.</param>
/// <param name="filterType">Type representing an <see cref="IFilterMetadata"/>.</param>
/// <param name="order">The order of the added filter.</param>
/// <returns>An <see cref="IFilter"/> representing the added type.</returns>
/// <returns>An <see cref="IFilterMetadata"/> representing the added type.</returns>
/// <remarks>
/// Filter instances will be created using
/// <see cref="Microsoft.Framework.DependencyInjection.ActivatorUtilities"/>.
/// Use <see cref="AddService(ICollection{IFilter}, Type)"/> to register a service as a filter.
/// Use <see cref="AddService(ICollection{IFilterMetadata}, Type)"/> to register a service as a filter.
/// </remarks>
public static IFilter Add(
[NotNull] this ICollection<IFilter> filters,
public static IFilterMetadata Add(
[NotNull] this ICollection<IFilterMetadata> filters,
[NotNull] Type filterType,
int order)
{
if (!typeof(IFilter).IsAssignableFrom(filterType))
if (!typeof(IFilterMetadata).IsAssignableFrom(filterType))
{
var message = Resources.FormatTypeMustDeriveFromType(filterType.FullName, typeof(IFilter).FullName);
var message = Resources.FormatTypeMustDeriveFromType(filterType.FullName, typeof(IFilterMetadata).FullName);
throw new ArgumentException(message, nameof(filterType));
}
@ -61,43 +61,43 @@ namespace Microsoft.AspNet.Mvc
}
/// <summary>
/// Adds a type representing an <see cref="IFilter"/> to a filter collection.
/// Adds a type representing an <see cref="IFilterMetadata"/> to a filter collection.
/// </summary>
/// <param name="filters">A collection of <see cref="IFilter"/>.</param>
/// <param name="filterType">Type representing an <see cref="IFilter"/>.</param>
/// <returns>An <see cref="IFilter"/> representing the added service type.</returns>
/// <param name="filters">A collection of <see cref="IFilterMetadata"/>.</param>
/// <param name="filterType">Type representing an <see cref="IFilterMetadata"/>.</param>
/// <returns>An <see cref="IFilterMetadata"/> representing the added service type.</returns>
/// <remarks>
/// Filter instances will created through dependency injection. Use
/// <see cref="AddService(ICollection{IFilter}, Type)"/> to register a service that will be created via
/// <see cref="AddService(ICollection{IFilterMetadata}, Type)"/> to register a service that will be created via
/// type activation.
/// </remarks>
public static IFilter AddService(
[NotNull] this ICollection<IFilter> filters,
public static IFilterMetadata AddService(
[NotNull] this ICollection<IFilterMetadata> filters,
[NotNull] Type filterType)
{
return AddService(filters, filterType, order: 0);
}
/// <summary>
/// Adds a type representing an <see cref="IFilter"/> to a filter collection.
/// Adds a type representing an <see cref="IFilterMetadata"/> to a filter collection.
/// </summary>
/// <param name="filters">A collection of <see cref="IFilter"/>.</param>
/// <param name="filterType">Type representing an <see cref="IFilter"/>.</param>
/// <param name="filters">A collection of <see cref="IFilterMetadata"/>.</param>
/// <param name="filterType">Type representing an <see cref="IFilterMetadata"/>.</param>
/// <param name="order">The order of the added filter.</param>
/// <returns>An <see cref="IFilter"/> representing the added service type.</returns>
/// <returns>An <see cref="IFilterMetadata"/> representing the added service type.</returns>
/// <remarks>
/// Filter instances will created through dependency injection. Use
/// <see cref="AddService(ICollection{IFilter}, Type)"/> to register a service that will be created via
/// <see cref="AddService(ICollection{IFilterMetadata}, Type)"/> to register a service that will be created via
/// type activation.
/// </remarks>
public static IFilter AddService(
[NotNull] this ICollection<IFilter> filters,
public static IFilterMetadata AddService(
[NotNull] this ICollection<IFilterMetadata> filters,
[NotNull] Type filterType,
int order)
{
if (!typeof(IFilter).GetTypeInfo().IsAssignableFrom(filterType.GetTypeInfo()))
if (!typeof(IFilterMetadata).GetTypeInfo().IsAssignableFrom(filterType.GetTypeInfo()))
{
var message = Resources.FormatTypeMustDeriveFromType(filterType.FullName, typeof(IFilter).FullName);
var message = Resources.FormatTypeMustDeriveFromType(filterType.FullName, typeof(IFilterMetadata).FullName);
throw new ArgumentException(message, nameof(filterType));
}

View File

@ -20,7 +20,7 @@ namespace Microsoft.AspNet.Mvc
public MvcOptions()
{
Conventions = new List<IApplicationModelConvention>();
Filters = new List<IFilter>();
Filters = new List<IFilterMetadata>();
InputFormatters = new List<IInputFormatter>();
OutputFormatters = new List<IOutputFormatter>();
ModelBinders = new List<IModelBinder>();
@ -31,10 +31,10 @@ namespace Microsoft.AspNet.Mvc
}
/// <summary>
/// Gets a list of <see cref="IFilter"/> which are used to construct filters that
/// Gets a list of <see cref="IFilterMetadata"/> which are used to construct filters that
/// apply to all actions.
/// </summary>
public ICollection<IFilter> Filters { get; }
public ICollection<IFilterMetadata> Filters { get; }
/// <summary>
/// Gets a list of <see cref="IOutputFormatter"/>s that are used by this application.

View File

@ -22,16 +22,16 @@ namespace Microsoft.AspNet.Mvc
public int Order { get; set; }
public IFilter CreateInstance([NotNull] IServiceProvider serviceProvider)
public IFilterMetadata CreateInstance([NotNull] IServiceProvider serviceProvider)
{
var service = serviceProvider.GetRequiredService(ServiceType);
var filter = service as IFilter;
var filter = service as IFilterMetadata;
if (filter == null)
{
throw new InvalidOperationException(Resources.FormatFilterFactoryAttribute_TypeMustImplementIFilter(
typeof(ServiceFilterAttribute).Name,
typeof(IFilter).Name));
typeof(IFilterMetadata).Name));
}
return filter;

View File

@ -26,7 +26,7 @@ namespace Microsoft.AspNet.Mvc
public int Order { get; set; }
public IFilter CreateInstance([NotNull] IServiceProvider serviceProvider)
public IFilterMetadata CreateInstance([NotNull] IServiceProvider serviceProvider)
{
if (_factory == null)
{
@ -35,7 +35,7 @@ namespace Microsoft.AspNet.Mvc
_factory = ActivatorUtilities.CreateFactory(ImplementationType, argumentTypes ?? Type.EmptyTypes);
}
return (IFilter)_factory(serviceProvider, Arguments);
return (IFilterMetadata)_factory(serviceProvider, Arguments);
}
}
}

View File

@ -3,7 +3,7 @@
namespace Microsoft.AspNet.Mvc
{
public interface IAllowAnonymous : IFilter
public interface IAllowAnonymous : IFilterMetadata
{
}
}

View File

@ -82,7 +82,7 @@ namespace Microsoft.AspNet.Mvc
}
}
private bool IsClosestToAction(IEnumerable<IFilter> filters)
private bool IsClosestToAction(IEnumerable<IFilterMetadata> filters)
{
// If there are multiple ICorsAuthorizationFilter which are defined at the class and
// at the action level, the one closest to the action overrides the others.

View File

@ -32,7 +32,7 @@ namespace Microsoft.AspNet.Mvc
}
}
public IFilter CreateInstance([NotNull] IServiceProvider serviceProvider)
public IFilterMetadata CreateInstance([NotNull] IServiceProvider serviceProvider)
{
var filter = serviceProvider.GetRequiredService<CorsAuthorizationFilter>();
filter.PolicyName = _policyName;

View File

@ -19,7 +19,7 @@ namespace Microsoft.AspNet.Mvc
/// </summary>
/// <param name="serviceProvider">The <see cref="IServiceProvider"/>.</param>
/// <returns>An instance of <see cref="FormatFilter"/>.</returns>
public IFilter CreateInstance([NotNull] IServiceProvider serviceProvider)
public IFilterMetadata CreateInstance([NotNull] IServiceProvider serviceProvider)
{
return serviceProvider.GetRequiredService<FormatFilter>();
}

View File

@ -8,7 +8,7 @@ namespace Microsoft.AspNet.Mvc
/// <summary>
/// A filter which produces a desired content type for the current request.
/// </summary>
public interface IFormatFilter : IFilter
public interface IFormatFilter : IFilterMetadata
{
/// <summary>
/// format value in the current request. <c>null</c> if format not present in the current request.

View File

@ -86,7 +86,7 @@ namespace Microsoft.AspNet.Mvc
/// </summary>
public int Order { get; set; }
public IFilter CreateInstance([NotNull] IServiceProvider serviceProvider)
public IFilterMetadata CreateInstance([NotNull] IServiceProvider serviceProvider)
{
var optionsAccessor = serviceProvider.GetRequiredService<IOptions<MvcCacheOptions>>();

View File

@ -12,7 +12,7 @@ namespace Microsoft.AspNet.Mvc
{
public int Order { get; set; }
public IFilter CreateInstance(IServiceProvider serviceProvider)
public IFilterMetadata CreateInstance(IServiceProvider serviceProvider)
{
var antiforgery = serviceProvider.GetRequiredService<IAntiforgery>();
return new ValidateAntiforgeryTokenAuthorizationFilter(antiforgery);

View File

@ -1377,7 +1377,7 @@ namespace Microsoft.AspNet.Mvc.Description
}
}
private class ContentTypeAttribute : Attribute, IFilter, IApiResponseMetadataProvider
private class ContentTypeAttribute : Attribute, IFilterMetadata, IApiResponseMetadataProvider
{
public ContentTypeAttribute(string mediaType)
{

View File

@ -117,7 +117,7 @@ namespace Microsoft.AspNet.Mvc.ApplicationModels
}
}
private class MyFilterAttribute : Attribute, IFilter
private class MyFilterAttribute : Attribute, IFilterMetadata
{
}

View File

@ -124,7 +124,7 @@ namespace Microsoft.AspNet.Mvc.ApplicationModels
}
}
private class MyFilterAttribute : Attribute, IFilter
private class MyFilterAttribute : Attribute, IFilterMetadata
{
}

View File

@ -1153,7 +1153,7 @@ namespace Microsoft.AspNet.Mvc.ApplicationModels
}
}
private class MyFilterAttribute : Attribute, IFilter
private class MyFilterAttribute : Attribute, IFilterMetadata
{
}

View File

@ -37,7 +37,7 @@ namespace Microsoft.AspNet.Mvc.Test
{
// Arrange
var globalFilter = new MyFilterAttribute(1);
var provider = GetProvider(typeof(FiltersController).GetTypeInfo(), new IFilter[]
var provider = GetProvider(typeof(FiltersController).GetTypeInfo(), new IFilterMetadata[]
{
globalFilter,
});
@ -379,7 +379,7 @@ namespace Microsoft.AspNet.Mvc.Test
{
// Arrange
var filter = new MyFilterAttribute(1);
var provider = GetProvider(typeof(PersonController).GetTypeInfo(), new IFilter[]
var provider = GetProvider(typeof(PersonController).GetTypeInfo(), new IFilterMetadata[]
{
filter,
});
@ -1447,7 +1447,7 @@ namespace Microsoft.AspNet.Mvc.Test
private ControllerActionDescriptorProvider GetProvider(
TypeInfo controllerTypeInfo,
IEnumerable<IFilter> filters = null)
IEnumerable<IFilterMetadata> filters = null)
{
var options = new MockMvcOptionsAccessor();
if (filters != null)
@ -1614,7 +1614,7 @@ namespace Microsoft.AspNet.Mvc.Test
}
}
private class MyFilterAttribute : Attribute, IFilter
private class MyFilterAttribute : Attribute, IFilterMetadata
{
public MyFilterAttribute(int value)
{

View File

@ -61,7 +61,7 @@ namespace Microsoft.AspNet.Mvc
var tempData = new Mock<ITempDataDictionary>();
tempData.Setup(t => t.Save()).Verifiable();
var invoker = CreateInvoker(Mock.Of<IFilter>(), actionThrows: false, tempData: tempData.Object);
var invoker = CreateInvoker(Mock.Of<IFilterMetadata>(), actionThrows: false, tempData: tempData.Object);
// Act
await invoker.InvokeAsync();
@ -77,7 +77,7 @@ namespace Microsoft.AspNet.Mvc
var tempData = new Mock<ITempDataDictionary>();
tempData.Setup(t => t.Save()).Verifiable();
var invoker = CreateInvoker(Mock.Of<IFilter>(), actionThrows: true, tempData: tempData.Object);
var invoker = CreateInvoker(Mock.Of<IFilterMetadata>(), actionThrows: true, tempData: tempData.Object);
// Act & Assert
await Assert.ThrowsAsync(_actionException.GetType(), async () => await invoker.InvokeAsync());
@ -216,7 +216,7 @@ namespace Microsoft.AspNet.Mvc
.Returns<ExceptionContext>((context) => Task.FromResult(true))
.Verifiable();
var invoker = CreateInvoker(new IFilter[] { filter1.Object, filter2.Object }, actionThrows: true);
var invoker = CreateInvoker(new IFilterMetadata[] { filter1.Object, filter2.Object }, actionThrows: true);
// Act
await invoker.InvokeAsync();
@ -263,7 +263,7 @@ namespace Microsoft.AspNet.Mvc
var resultFilter = new Mock<IResultFilter>(MockBehavior.Strict);
var invoker = CreateInvoker(new IFilter[] { filter.Object, resultFilter.Object }, actionThrows: true);
var invoker = CreateInvoker(new IFilterMetadata[] { filter.Object, resultFilter.Object }, actionThrows: true);
// Act
await invoker.InvokeAsync();
@ -352,7 +352,7 @@ namespace Microsoft.AspNet.Mvc
var filter2 = new Mock<IAuthorizationFilter>(MockBehavior.Strict);
var invoker = CreateInvoker(new IFilter[] { filter1.Object, filter2.Object });
var invoker = CreateInvoker(new IFilterMetadata[] { filter1.Object, filter2.Object });
// Act
await invoker.InvokeAsync();
@ -393,7 +393,7 @@ namespace Microsoft.AspNet.Mvc
var actionFilter = new Mock<IActionFilter>(MockBehavior.Strict);
var resultFilter = new Mock<IResultFilter>(MockBehavior.Strict);
var invoker = CreateInvoker(new IFilter[]
var invoker = CreateInvoker(new IFilterMetadata[]
{
exceptionFilter.Object,
authorizationFilter1.Object,
@ -430,7 +430,7 @@ namespace Microsoft.AspNet.Mvc
var resultFilter = new Mock<IResultFilter>(MockBehavior.Strict);
var invoker = CreateInvoker(new IFilter[] { authorizationFilter.Object, resultFilter.Object });
var invoker = CreateInvoker(new IFilterMetadata[] { authorizationFilter.Object, resultFilter.Object });
// Act
await invoker.InvokeAsync();
@ -521,7 +521,7 @@ namespace Microsoft.AspNet.Mvc
resultFilter.Setup(f => f.OnResultExecuting(It.IsAny<ResultExecutingContext>())).Verifiable();
resultFilter.Setup(f => f.OnResultExecuted(It.IsAny<ResultExecutedContext>())).Verifiable();
var invoker = CreateInvoker(new IFilter[]
var invoker = CreateInvoker(new IFilterMetadata[]
{
actionFilter1.Object,
actionFilter2.Object,
@ -577,7 +577,7 @@ namespace Microsoft.AspNet.Mvc
resultFilter.Setup(f => f.OnResultExecuting(It.IsAny<ResultExecutingContext>())).Verifiable();
resultFilter.Setup(f => f.OnResultExecuted(It.IsAny<ResultExecutedContext>())).Verifiable();
var invoker = CreateInvoker(new IFilter[]
var invoker = CreateInvoker(new IFilterMetadata[]
{
actionFilter1.Object,
actionFilter2.Object,
@ -632,7 +632,7 @@ namespace Microsoft.AspNet.Mvc
resultFilter.Setup(f => f.OnResultExecuting(It.IsAny<ResultExecutingContext>())).Verifiable();
resultFilter.Setup(f => f.OnResultExecuted(It.IsAny<ResultExecutedContext>())).Verifiable();
var invoker = CreateInvoker(new IFilter[]
var invoker = CreateInvoker(new IFilterMetadata[]
{
actionFilter1.Object,
actionFilter2.Object,
@ -788,7 +788,7 @@ namespace Microsoft.AspNet.Mvc
.Callback<ActionExecutedContext>(c => { throw exception; })
.Verifiable();
var invoker = CreateInvoker(new IFilter[] { filter1.Object, filter2.Object });
var invoker = CreateInvoker(new IFilterMetadata[] { filter1.Object, filter2.Object });
// Act
await invoker.InvokeAsync();
@ -832,7 +832,7 @@ namespace Microsoft.AspNet.Mvc
resultFilter.Setup(f => f.OnResultExecuting(It.IsAny<ResultExecutingContext>())).Verifiable();
resultFilter.Setup(f => f.OnResultExecuted(It.IsAny<ResultExecutedContext>())).Verifiable();
var invoker = CreateInvoker(new IFilter[] { actionFilter.Object, resultFilter.Object }, actionThrows: true);
var invoker = CreateInvoker(new IFilterMetadata[] { actionFilter.Object, resultFilter.Object }, actionThrows: true);
// Act
await invoker.InvokeAsync();
@ -911,7 +911,7 @@ namespace Microsoft.AspNet.Mvc
var filter3 = new Mock<IResultFilter>(MockBehavior.Strict);
var invoker = CreateInvoker(new IFilter[] { filter1.Object, filter2.Object, filter3.Object });
var invoker = CreateInvoker(new IFilterMetadata[] { filter1.Object, filter2.Object, filter3.Object });
// Act
await invoker.InvokeAsync();
@ -951,7 +951,7 @@ namespace Microsoft.AspNet.Mvc
var filter3 = new Mock<IResultFilter>(MockBehavior.Strict);
var invoker = CreateInvoker(new IFilter[] { filter1.Object, filter2.Object, filter3.Object });
var invoker = CreateInvoker(new IFilterMetadata[] { filter1.Object, filter2.Object, filter3.Object });
// Act
await invoker.InvokeAsync();
@ -993,7 +993,7 @@ namespace Microsoft.AspNet.Mvc
var filter3 = new Mock<IResultFilter>(MockBehavior.Strict);
var invoker = CreateInvoker(new IFilter[] { filter1.Object, filter2.Object, filter3.Object });
var invoker = CreateInvoker(new IFilterMetadata[] { filter1.Object, filter2.Object, filter3.Object });
// Act
await invoker.InvokeAsync();
@ -1187,7 +1187,7 @@ namespace Microsoft.AspNet.Mvc
var resultFilter3 = new Mock<IResultFilter>(MockBehavior.Strict);
var invoker = CreateInvoker(new IFilter[] { resultFilter1.Object, resultFilter2.Object, resultFilter3.Object });
var invoker = CreateInvoker(new IFilterMetadata[] { resultFilter1.Object, resultFilter2.Object, resultFilter3.Object });
// Act
await invoker.InvokeAsync();
@ -1229,7 +1229,7 @@ namespace Microsoft.AspNet.Mvc
var resultFilter3 = new Mock<IResultFilter>(MockBehavior.Strict);
var invoker = CreateInvoker(new IFilter[] { resultFilter1.Object, resultFilter2.Object, resultFilter3.Object });
var invoker = CreateInvoker(new IFilterMetadata[] { resultFilter1.Object, resultFilter2.Object, resultFilter3.Object });
// Act
await invoker.InvokeAsync();
@ -1257,7 +1257,7 @@ namespace Microsoft.AspNet.Mvc
})
.Verifiable();
var invoker = CreateInvoker(new IFilter[] { resourceFilter.Object });
var invoker = CreateInvoker(new IFilterMetadata[] { resourceFilter.Object });
// Act
await invoker.InvokeAsync();
@ -1346,7 +1346,7 @@ namespace Microsoft.AspNet.Mvc
c.Result = expected;
});
var invoker = CreateInvoker(new IFilter[] { resourceFilter.Object, actionFilter.Object });
var invoker = CreateInvoker(new IFilterMetadata[] { resourceFilter.Object, actionFilter.Object });
// Act
await invoker.InvokeAsync();
@ -1383,7 +1383,7 @@ namespace Microsoft.AspNet.Mvc
c.Result = expected;
});
var invoker = CreateInvoker(new IFilter[] { resourceFilter.Object, exceptionFilter.Object }, actionThrows: true);
var invoker = CreateInvoker(new IFilterMetadata[] { resourceFilter.Object, exceptionFilter.Object }, actionThrows: true);
// Act
await invoker.InvokeAsync();
@ -1422,7 +1422,7 @@ namespace Microsoft.AspNet.Mvc
c.Result = expected;
});
var invoker = CreateInvoker(new IFilter[] { resourceFilter.Object, resultFilter.Object });
var invoker = CreateInvoker(new IFilterMetadata[] { resourceFilter.Object, resultFilter.Object });
// Act
await invoker.InvokeAsync();
@ -1450,7 +1450,7 @@ namespace Microsoft.AspNet.Mvc
})
.Verifiable();
var invoker = CreateInvoker(new IFilter[] { resourceFilter.Object }, actionThrows: true);
var invoker = CreateInvoker(new IFilterMetadata[] { resourceFilter.Object }, actionThrows: true);
// Act
await invoker.InvokeAsync();
@ -1489,7 +1489,7 @@ namespace Microsoft.AspNet.Mvc
throw expected;
});
var invoker = CreateInvoker(new IFilter[] { resourceFilter.Object, actionFilter.Object });
var invoker = CreateInvoker(new IFilterMetadata[] { resourceFilter.Object, actionFilter.Object });
// Act
await invoker.InvokeAsync();
@ -1528,7 +1528,7 @@ namespace Microsoft.AspNet.Mvc
throw expected;
});
var invoker = CreateInvoker(new IFilter[] { resourceFilter.Object, exceptionFilter.Object }, actionThrows: true);
var invoker = CreateInvoker(new IFilterMetadata[] { resourceFilter.Object, exceptionFilter.Object }, actionThrows: true);
// Act
await invoker.InvokeAsync();
@ -1567,7 +1567,7 @@ namespace Microsoft.AspNet.Mvc
throw expected;
});
var invoker = CreateInvoker(new IFilter[] { resourceFilter.Object, resultFilter.Object });
var invoker = CreateInvoker(new IFilterMetadata[] { resourceFilter.Object, resultFilter.Object });
// Act
await invoker.InvokeAsync();
@ -1600,7 +1600,7 @@ namespace Microsoft.AspNet.Mvc
})
.Verifiable();
var invoker = CreateInvoker(new IFilter[] { resourceFilter.Object }, actionThrows: true);
var invoker = CreateInvoker(new IFilterMetadata[] { resourceFilter.Object }, actionThrows: true);
// Act
await invoker.InvokeAsync();
@ -1636,7 +1636,7 @@ namespace Microsoft.AspNet.Mvc
})
.Verifiable();
var invoker = CreateInvoker(new IFilter[] { resourceFilter1.Object, resourceFilter2.Object }, actionThrows: true);
var invoker = CreateInvoker(new IFilterMetadata[] { resourceFilter1.Object, resourceFilter2.Object }, actionThrows: true);
// Act
var exception = await Assert.ThrowsAsync<DataMisalignedException>(invoker.InvokeAsync);
@ -1672,7 +1672,7 @@ namespace Microsoft.AspNet.Mvc
})
.Verifiable();
var invoker = CreateInvoker(new IFilter[] { resourceFilter1.Object, resourceFilter2.Object }, actionThrows: true);
var invoker = CreateInvoker(new IFilterMetadata[] { resourceFilter1.Object, resourceFilter2.Object }, actionThrows: true);
// Act
var exception = await Assert.ThrowsAsync<DataMisalignedException>(invoker.InvokeAsync);
@ -1708,7 +1708,7 @@ namespace Microsoft.AspNet.Mvc
})
.Verifiable();
var invoker = CreateInvoker(new IFilter[] { resourceFilter1.Object, resourceFilter2.Object }, actionThrows: true);
var invoker = CreateInvoker(new IFilterMetadata[] { resourceFilter1.Object, resourceFilter2.Object }, actionThrows: true);
// Act
var exception = await Assert.ThrowsAsync<DataMisalignedException>(invoker.InvokeAsync);
@ -1755,7 +1755,7 @@ namespace Microsoft.AspNet.Mvc
var resultFilter = new Mock<IAsyncResultFilter>(MockBehavior.Strict);
var invoker = CreateInvoker(
new IFilter[]
new IFilterMetadata[]
{
resourceFilter1.Object, // This filter should see the result retured from resourceFilter2
resourceFilter2.Object, // This filter will short circuit
@ -1808,7 +1808,7 @@ namespace Microsoft.AspNet.Mvc
var resultFilter = new Mock<IAsyncResultFilter>(MockBehavior.Strict);
var invoker = CreateInvoker(
new IFilter[]
new IFilterMetadata[]
{
resourceFilter1.Object, // This filter should see the result retured from resourceFilter2
resourceFilter2.Object,
@ -1848,7 +1848,7 @@ namespace Microsoft.AspNet.Mvc
context = await next();
});
var invoker = CreateInvoker(new IFilter[] { resourceFilter.Object, });
var invoker = CreateInvoker(new IFilterMetadata[] { resourceFilter.Object, });
// Act
var exception = await Assert.ThrowsAsync<InvalidOperationException>(invoker.InvokeAsync);
@ -1878,7 +1878,7 @@ namespace Microsoft.AspNet.Mvc
c.Result = _result;
});
var invoker = CreateInvoker(new IFilter[] { authorizationFilter.Object, resourceFilter.Object, });
var invoker = CreateInvoker(new IFilterMetadata[] { authorizationFilter.Object, resourceFilter.Object, });
// Act
await invoker.InvokeAsync();
@ -1976,7 +1976,7 @@ namespace Microsoft.AspNet.Mvc
}
private TestControllerActionInvoker CreateInvoker(
IFilter filter,
IFilterMetadata filter,
bool actionThrows = false,
ITempDataDictionary tempData = null,
int maxAllowedErrorsInModelState = 200)
@ -1985,7 +1985,7 @@ namespace Microsoft.AspNet.Mvc
}
private TestControllerActionInvoker CreateInvoker(
IFilter[] filters,
IFilterMetadata[] filters,
bool actionThrows = false,
ITempDataDictionary tempData = null,
int maxAllowedErrorsInModelState = 200)

View File

@ -18,7 +18,7 @@ namespace Microsoft.AspNet.Mvc.Filters
public void DefaultFilterProvider_UsesFilter_WhenItsNotIFilterFactory()
{
// Arrange
var filter = Mock.Of<IFilter>();
var filter = Mock.Of<IFilterMetadata>();
var context = CreateFilterContext(new List<FilterItem>()
{
@ -44,7 +44,7 @@ namespace Microsoft.AspNet.Mvc.Filters
public void DefaultFilterProvider_UsesFilterFactory()
{
// Arrange
var filter = Mock.Of<IFilter>();
var filter = Mock.Of<IFilterMetadata>();
var filterFactory = new Mock<IFilterFactory>();
filterFactory
@ -75,7 +75,7 @@ namespace Microsoft.AspNet.Mvc.Filters
public void DefaultFilterProvider_UsesFilterFactory_WithOrder()
{
// Arrange
var filter = Mock.Of<IFilter>();
var filter = Mock.Of<IFilterMetadata>();
var filterFactory = new Mock<IFilterFactory>();
filterFactory
@ -113,7 +113,7 @@ namespace Microsoft.AspNet.Mvc.Filters
var filterFactory = new Mock<IFilterFactory>();
filterFactory
.Setup(ff => ff.CreateInstance(It.IsAny<IServiceProvider>()))
.Returns(filter.As<IFilter>().Object);
.Returns(filter.As<IFilterMetadata>().Object);
var context = CreateFilterContext(new List<FilterItem>()
{

View File

@ -13,7 +13,7 @@ namespace Microsoft.AspNet.Mvc
public void Add_UsesTypeFilterAttribute()
{
// Arrange
var collection = new Collection<IFilter>();
var collection = new Collection<IFilterMetadata>();
// Act
var added = collection.Add(typeof(MyFilter));
@ -28,7 +28,7 @@ namespace Microsoft.AspNet.Mvc
public void Add_WithOrder_SetsOrder()
{
// Arrange
var collection = new Collection<IFilter>();
var collection = new Collection<IFilterMetadata>();
// Act
var added = collection.Add(typeof(MyFilter), 17);
@ -41,11 +41,11 @@ namespace Microsoft.AspNet.Mvc
public void Add_ThrowsOnNonIFilter()
{
// Arrange
var collection = new Collection<IFilter>();
var collection = new Collection<IFilterMetadata>();
var expectedMessage =
"The type 'Microsoft.AspNet.Mvc.FilterCollectionExtensionsTest+NonFilter' must derive from " +
"'Microsoft.AspNet.Mvc.IFilter'." + Environment.NewLine +
$"'{typeof(IFilterMetadata).FullName}'." + Environment.NewLine +
"Parameter name: filterType";
// Act & Assert
@ -59,7 +59,7 @@ namespace Microsoft.AspNet.Mvc
public void AddService_UsesServiceFilterAttribute()
{
// Arrange
var collection = new Collection<IFilter>();
var collection = new Collection<IFilterMetadata>();
// Act
var added = collection.AddService(typeof(MyFilter));
@ -74,7 +74,7 @@ namespace Microsoft.AspNet.Mvc
public void AddService_SetsOrder()
{
// Arrange
var collection = new Collection<IFilter>();
var collection = new Collection<IFilterMetadata>();
// Act
var added = collection.AddService(typeof(MyFilter), 17);
@ -87,11 +87,11 @@ namespace Microsoft.AspNet.Mvc
public void AddService_ThrowsOnNonIFilter()
{
// Arrange
var collection = new Collection<IFilter>();
var collection = new Collection<IFilterMetadata>();
var expectedMessage =
"The type 'Microsoft.AspNet.Mvc.FilterCollectionExtensionsTest+NonFilter' must derive from " +
"'Microsoft.AspNet.Mvc.IFilter'." + Environment.NewLine +
$"'{typeof(IFilterMetadata).FullName}'." + Environment.NewLine +
"Parameter name: filterType";
// Act & Assert
@ -101,7 +101,7 @@ namespace Microsoft.AspNet.Mvc
Assert.Equal(expectedMessage, ex.Message);
}
private class MyFilter : IFilter, IOrderedFilter
private class MyFilter : IFilterMetadata, IOrderedFilter
{
public int Order
{

View File

@ -43,7 +43,7 @@ namespace Microsoft.AspNet.Mvc.Test
.Setup(f => f.OnActionExecuted(It.IsAny<ActionExecutedContext>()))
.Verifiable();
var context = CreateActionExecutingContext(mock.As<IFilter>().Object);
var context = CreateActionExecutingContext(mock.As<IFilterMetadata>().Object);
var next = new ActionExecutionDelegate(() => Task.FromResult(CreateActionExecutedContext(context)));
// Act
@ -81,7 +81,7 @@ namespace Microsoft.AspNet.Mvc.Test
.Setup(f => f.OnActionExecuted(It.IsAny<ActionExecutedContext>()))
.Verifiable();
var context = CreateActionExecutingContext(mock.As<IFilter>().Object);
var context = CreateActionExecutingContext(mock.As<IFilterMetadata>().Object);
var next = new ActionExecutionDelegate(() => { throw null; }); // This won't run
// Act
@ -130,7 +130,7 @@ namespace Microsoft.AspNet.Mvc.Test
.Setup(f => f.OnResultExecuted(It.IsAny<ResultExecutedContext>()))
.Verifiable();
var context = CreateResultExecutingContext(mock.As<IFilter>().Object);
var context = CreateResultExecutingContext(mock.As<IFilterMetadata>().Object);
var next = new ResultExecutionDelegate(() => Task.FromResult(CreateResultExecutedContext(context)));
// Act
@ -168,7 +168,7 @@ namespace Microsoft.AspNet.Mvc.Test
.Setup(f => f.OnResultExecuted(It.IsAny<ResultExecutedContext>()))
.Verifiable();
var context = CreateResultExecutingContext(mock.As<IFilter>().Object);
var context = CreateResultExecutingContext(mock.As<IFilterMetadata>().Object);
var next = new ResultExecutionDelegate(() => Task.FromResult(CreateResultExecutedContext(context)));
// Act
@ -206,7 +206,7 @@ namespace Microsoft.AspNet.Mvc.Test
.Setup(f => f.OnResultExecuted(It.IsAny<ResultExecutedContext>()))
.Verifiable();
var context = CreateResultExecutingContext(mock.As<IFilter>().Object);
var context = CreateResultExecutingContext(mock.As<IFilterMetadata>().Object);
var next = new ResultExecutionDelegate(() => { throw null; }); // This won't run
// Act
@ -222,11 +222,11 @@ namespace Microsoft.AspNet.Mvc.Test
.Verify(f => f.OnResultExecuted(It.IsAny<ResultExecutedContext>()), Times.Never());
}
private static ActionExecutingContext CreateActionExecutingContext(IFilter filter)
private static ActionExecutingContext CreateActionExecutingContext(IFilterMetadata filter)
{
return new ActionExecutingContext(
CreateActionContext(),
new IFilter[] { filter, },
new IFilterMetadata[] { filter, },
new Dictionary<string, object>(),
controller: new object());
}
@ -239,11 +239,11 @@ namespace Microsoft.AspNet.Mvc.Test
};
}
private static ResultExecutingContext CreateResultExecutingContext(IFilter filter)
private static ResultExecutingContext CreateResultExecutingContext(IFilterMetadata filter)
{
return new ResultExecutingContext(
CreateActionContext(),
new IFilter[] { filter, },
new IFilterMetadata[] { filter, },
new NoOpResult(),
controller: new object());
}

View File

@ -329,7 +329,7 @@ namespace Microsoft.AspNet.Mvc.Test
var authorizationContext = new AuthorizationContext(
actionContext,
Enumerable.Empty<IFilter>().ToList()
Enumerable.Empty<IFilterMetadata>().ToList()
);
return authorizationContext;

View File

@ -41,7 +41,7 @@ namespace Microsoft.AspNet.Mvc
var mockObjects = new MockObjects(format, place);
var resultExecutingContext = mockObjects.CreateResultExecutingContext();
var resourceExecutingContext = mockObjects.CreateResourceExecutingContext(new IFilter[] { });
var resourceExecutingContext = mockObjects.CreateResourceExecutingContext(new IFilterMetadata[] { });
var filter = new FormatFilter(mockObjects.IOptions, mockObjects.ScopedInstance);
@ -82,13 +82,13 @@ namespace Microsoft.AspNet.Mvc
var resultExecutingContext = new ResultExecutingContext(
ac,
new IFilter[] { },
new IFilterMetadata[] { },
new ObjectResult("Hello!"),
controller: new object());
var resourceExecutingContext = new ResourceExecutingContext(
ac,
new IFilter[] { });
new IFilterMetadata[] { });
var filter = new FormatFilter(mockObjects.IOptions, mockObjects.ScopedInstance);
@ -116,7 +116,7 @@ namespace Microsoft.AspNet.Mvc
var mockObjects = new MockObjects(format, place);
var resultExecutingContext = mockObjects.CreateResultExecutingContext();
var resourceExecutingContext = mockObjects.CreateResourceExecutingContext(new IFilter[] { });
var resourceExecutingContext = mockObjects.CreateResourceExecutingContext(new IFilterMetadata[] { });
mockObjects.MockFormatterMappingOptions.FormatterMappings.SetMediaTypeMappingForFormat(
format,
@ -143,7 +143,7 @@ namespace Microsoft.AspNet.Mvc
{
// Arrange
var mockObjects = new MockObjects(format, place);
var resourceExecutingContext = mockObjects.CreateResourceExecutingContext(new IFilter[] { });
var resourceExecutingContext = mockObjects.CreateResourceExecutingContext(new IFilterMetadata[] { });
var filter = new FormatFilter(mockObjects.IOptions, mockObjects.ScopedInstance);
@ -160,7 +160,7 @@ namespace Microsoft.AspNet.Mvc
{
// Arrange
var mockObjects = new MockObjects();
var resourceExecutingContext = mockObjects.CreateResourceExecutingContext(new IFilter[] { });
var resourceExecutingContext = mockObjects.CreateResourceExecutingContext(new IFilterMetadata[] { });
var filter = new FormatFilter(mockObjects.IOptions, mockObjects.ScopedInstance);
@ -182,7 +182,7 @@ namespace Microsoft.AspNet.Mvc
// Arrange
var produces = new ProducesAttribute(contentType, new string[] { "application/foo", "text/bar" });
var mockObjects = new MockObjects(format, place);
var resourceExecutingContext = mockObjects.CreateResourceExecutingContext(new IFilter[] { produces });
var resourceExecutingContext = mockObjects.CreateResourceExecutingContext(new IFilterMetadata[] { produces });
var filter = new FormatFilter(mockObjects.IOptions, mockObjects.ScopedInstance);
@ -199,7 +199,7 @@ namespace Microsoft.AspNet.Mvc
// Arrange
var produces = new ProducesAttribute("application/xml;version=1", new string[] { });
var mockObjects = new MockObjects("xml", FormatSource.RouteData);
var resourceExecutingContext = mockObjects.CreateResourceExecutingContext(new IFilter[] { produces });
var resourceExecutingContext = mockObjects.CreateResourceExecutingContext(new IFilterMetadata[] { produces });
mockObjects.MockFormatterMappingOptions.FormatterMappings.SetMediaTypeMappingForFormat(
"xml",
@ -220,7 +220,7 @@ namespace Microsoft.AspNet.Mvc
// Arrange
var produces = new ProducesAttribute("application/xml", new string[] { });
var mockObjects = new MockObjects("xml", FormatSource.RouteData);
var resourceExecutingContext = mockObjects.CreateResourceExecutingContext(new IFilter[] { produces });
var resourceExecutingContext = mockObjects.CreateResourceExecutingContext(new IFilterMetadata[] { produces });
mockObjects.MockFormatterMappingOptions.FormatterMappings.SetMediaTypeMappingForFormat(
"xml",
@ -246,7 +246,7 @@ namespace Microsoft.AspNet.Mvc
// Arrange
var produces = new ProducesAttribute("application/xml", new string[] { "application/foo", "text/bar" });
var mockObjects = new MockObjects(format, place);
var resourceExecutingContext = mockObjects.CreateResourceExecutingContext(new IFilter[] { produces });
var resourceExecutingContext = mockObjects.CreateResourceExecutingContext(new IFilterMetadata[] { produces });
mockObjects.MockFormatterMappingOptions.FormatterMappings.SetMediaTypeMappingForFormat(
"xml",
@ -270,7 +270,7 @@ namespace Microsoft.AspNet.Mvc
{
// Arrange
var mockObjects = new MockObjects(format, place);
var resourceExecutingContext = mockObjects.CreateResourceExecutingContext(new IFilter[] { });
var resourceExecutingContext = mockObjects.CreateResourceExecutingContext(new IFilterMetadata[] { });
var filter = new FormatFilter(mockObjects.IOptions, mockObjects.ScopedInstance);
// Act
@ -335,7 +335,7 @@ namespace Microsoft.AspNet.Mvc
Initialize(httpContext, format, place);
}
public ResourceExecutingContext CreateResourceExecutingContext(IFilter[] filters)
public ResourceExecutingContext CreateResourceExecutingContext(IFilterMetadata[] filters)
{
var context = new ResourceExecutingContext(
MockActionContext,
@ -347,7 +347,7 @@ namespace Microsoft.AspNet.Mvc
{
return new ResultExecutingContext(
MockActionContext,
new IFilter[] { },
new IFilterMetadata[] { },
new ObjectResult("Some Value"),
controller: new object());
}

View File

@ -23,7 +23,7 @@ namespace Microsoft.AspNet.Mvc.Test
var mediaType1 = MediaTypeHeaderValue.Parse("application/json");
var mediaType2 = MediaTypeHeaderValue.Parse("text/json;charset=utf-8");
var producesContentAttribute = new ProducesAttribute("application/json", "text/json;charset=utf-8");
var resultExecutingContext = CreateResultExecutingContext(new IFilter[] { producesContentAttribute });
var resultExecutingContext = CreateResultExecutingContext(new IFilterMetadata[] { producesContentAttribute });
var next = new ResultExecutionDelegate(
() => Task.FromResult(CreateResultExecutedContext(resultExecutingContext)));
@ -47,7 +47,7 @@ namespace Microsoft.AspNet.Mvc.Test
formatFilter.Setup(f => f.IsActive)
.Returns(false);
var filters = new IFilter[] { producesContentAttribute, formatFilter.Object };
var filters = new IFilterMetadata[] { producesContentAttribute, formatFilter.Object };
var resultExecutingContext = CreateResultExecutingContext(filters);
var next = new ResultExecutionDelegate(
@ -71,7 +71,7 @@ namespace Microsoft.AspNet.Mvc.Test
formatFilter.Setup(f => f.IsActive)
.Returns(true);
var filters = new IFilter[] { producesContentAttribute, formatFilter.Object };
var filters = new IFilterMetadata[] { producesContentAttribute, formatFilter.Object };
var resultExecutingContext = CreateResultExecutingContext(filters);
var next = new ResultExecutionDelegate(
@ -169,7 +169,7 @@ namespace Microsoft.AspNet.Mvc.Test
return new ResultExecutedContext(context, context.Filters, context.Result, context.Controller);
}
private static ResultExecutingContext CreateResultExecutingContext(IFilter[] filters)
private static ResultExecutingContext CreateResultExecutingContext(IFilterMetadata[] filters)
{
return new ResultExecutingContext(
CreateActionContext(),

View File

@ -154,7 +154,7 @@ namespace Microsoft.AspNet.Mvc
{
var actionContext = new ActionContext(ctx, new RouteData(), actionDescriptor: null);
return new AuthorizationContext(actionContext, Enumerable.Empty<IFilter>().ToList());
return new AuthorizationContext(actionContext, Enumerable.Empty<IFilterMetadata>().ToList());
}
}
}

View File

@ -21,7 +21,7 @@ namespace Microsoft.AspNet.Mvc
NoStore = true,
Duration = null
});
var context = GetActionExecutingContext(new List<IFilter> { cache });
var context = GetActionExecutingContext(new List<IFilterMetadata> { cache });
// Act
cache.OnActionExecuting(context);
@ -54,7 +54,7 @@ namespace Microsoft.AspNet.Mvc
Duration = null
});
var context = GetActionExecutingContext(new List<IFilter> { cache });
var context = GetActionExecutingContext(new List<IFilterMetadata> { cache });
// Act & Assert
var ex = Assert.Throws<InvalidOperationException>(() => cache.OnActionExecuting(context));
@ -151,7 +151,7 @@ namespace Microsoft.AspNet.Mvc
public void OnActionExecuting_CanSetCacheControlHeaders(ResponseCacheFilter cache, string output)
{
// Arrange
var context = GetActionExecutingContext(new List<IFilter> { cache });
var context = GetActionExecutingContext(new List<IFilterMetadata> { cache });
// Act
cache.OnActionExecuting(context);
@ -199,7 +199,7 @@ namespace Microsoft.AspNet.Mvc
ResponseCacheFilter cache, string output)
{
// Arrange
var context = GetActionExecutingContext(new List<IFilter> { cache });
var context = GetActionExecutingContext(new List<IFilterMetadata> { cache });
// Act
cache.OnActionExecuting(context);
@ -269,7 +269,7 @@ namespace Microsoft.AspNet.Mvc
public void ResponseCacheCanSetVary(ResponseCacheFilter cache, string varyOutput, string cacheControlOutput)
{
// Arrange
var context = GetActionExecutingContext(new List<IFilter> { cache });
var context = GetActionExecutingContext(new List<IFilterMetadata> { cache });
// Act
cache.OnActionExecuting(context);
@ -288,7 +288,7 @@ namespace Microsoft.AspNet.Mvc
{
Duration = 0, Location = ResponseCacheLocation.None, NoStore = true, VaryByHeader = null
});
var context = GetActionExecutingContext(new List<IFilter> { cache });
var context = GetActionExecutingContext(new List<IFilterMetadata> { cache });
// Act
cache.OnActionExecuting(context);
@ -302,7 +302,7 @@ namespace Microsoft.AspNet.Mvc
public void IsOverridden_ReturnsTrueForAllButLastFilter()
{
// Arrange
var caches = new List<IFilter>();
var caches = new List<IFilterMetadata>();
caches.Add(new ResponseCacheFilter(
new CacheProfile
{
@ -333,7 +333,7 @@ namespace Microsoft.AspNet.Mvc
Duration = 10
});
cache.Duration = 20;
var context = GetActionExecutingContext(new List<IFilter> { cache });
var context = GetActionExecutingContext(new List<IFilterMetadata> { cache });
// Act
cache.OnActionExecuting(context);
@ -353,7 +353,7 @@ namespace Microsoft.AspNet.Mvc
Location = ResponseCacheLocation.None
});
cache.Location = ResponseCacheLocation.Client;
var context = GetActionExecutingContext(new List<IFilter> { cache });
var context = GetActionExecutingContext(new List<IFilterMetadata> { cache });
// Act
cache.OnActionExecuting(context);
@ -373,7 +373,7 @@ namespace Microsoft.AspNet.Mvc
});
cache.NoStore = false;
cache.Duration = 10;
var context = GetActionExecutingContext(new List<IFilter> { cache });
var context = GetActionExecutingContext(new List<IFilterMetadata> { cache });
// Act
cache.OnActionExecuting(context);
@ -393,7 +393,7 @@ namespace Microsoft.AspNet.Mvc
VaryByHeader = "Accept"
});
cache.VaryByHeader = "Test";
var context = GetActionExecutingContext(new List<IFilter> { cache });
var context = GetActionExecutingContext(new List<IFilterMetadata> { cache });
// Act
cache.OnActionExecuting(context);
@ -402,11 +402,11 @@ namespace Microsoft.AspNet.Mvc
Assert.Equal("Test", context.HttpContext.Response.Headers.Get("Vary"));
}
private ActionExecutingContext GetActionExecutingContext(List<IFilter> filters = null)
private ActionExecutingContext GetActionExecutingContext(List<IFilterMetadata> filters = null)
{
return new ActionExecutingContext(
new ActionContext(new DefaultHttpContext(), new RouteData(), new ActionDescriptor()),
filters ?? new List<IFilter>(),
filters ?? new List<IFilterMetadata>(),
new Dictionary<string, object>(),
new object());
}

View File

@ -15,7 +15,7 @@ namespace Microsoft.AspNet.Mvc.Core.Test
{
// Arrange
var skipStatusCodeAttribute = new SkipStatusCodePagesAttribute();
var resourceExecutingContext = CreateResourceExecutingContext(new IFilter[] { skipStatusCodeAttribute });
var resourceExecutingContext = CreateResourceExecutingContext(new IFilterMetadata[] { skipStatusCodeAttribute });
var statusCodePagesFeature = new TestStatusCodeFeature();
resourceExecutingContext.HttpContext.SetFeature<IStatusCodePagesFeature>(statusCodePagesFeature);
@ -31,13 +31,13 @@ namespace Microsoft.AspNet.Mvc.Core.Test
{
// Arrange
var skipStatusCodeAttribute = new SkipStatusCodePagesAttribute();
var resourceExecutingContext = CreateResourceExecutingContext(new IFilter[] { skipStatusCodeAttribute });
var resourceExecutingContext = CreateResourceExecutingContext(new IFilterMetadata[] { skipStatusCodeAttribute });
// Act
skipStatusCodeAttribute.OnResourceExecuting(resourceExecutingContext);
}
private static ResourceExecutingContext CreateResourceExecutingContext(IFilter[] filters)
private static ResourceExecutingContext CreateResourceExecutingContext(IFilterMetadata[] filters)
{
return new ResourceExecutingContext(
CreateActionContext(),

View File

@ -42,7 +42,7 @@ namespace Microsoft.AspNet.Mvc.WebApiCompatShim
var context = new ActionExecutingContext(
actionContext,
filters: new List<IFilter>(),
filters: new List<IFilterMetadata>(),
actionArguments: new Dictionary<string, object>(),
controller: new object());
@ -68,7 +68,7 @@ namespace Microsoft.AspNet.Mvc.WebApiCompatShim
var context = new ActionExecutedContext(
actionContext,
filters: new List<IFilter>(),
filters: new List<IFilterMetadata>(),
controller: new object());
context.Exception = new HttpResponseException(HttpStatusCode.BadRequest);