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)] [AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, AllowMultiple = true, Inherited = true)]
public class InspectResultPageAttribute : Attribute, IFilterFactory public class InspectResultPageAttribute : Attribute, IFilterFactory
{ {
public IFilter CreateInstance(IServiceProvider serviceProvider) public IFilterMetadata CreateInstance(IServiceProvider serviceProvider)
{ {
return new InspectResultPageFilter(); return new InspectResultPageFilter();
} }

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -15,7 +15,7 @@ namespace Microsoft.AspNet.Mvc
Descriptor = descriptor; Descriptor = descriptor;
} }
public FilterItem([NotNull] FilterDescriptor descriptor, [NotNull] IFilter filter) public FilterItem([NotNull] FilterDescriptor descriptor, [NotNull] IFilterMetadata filter)
: this(descriptor) : this(descriptor)
{ {
Filter = filter; Filter = filter;
@ -23,6 +23,6 @@ namespace Microsoft.AspNet.Mvc
public FilterDescriptor Descriptor { get; set; } 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 namespace Microsoft.AspNet.Mvc
{ {
public interface IActionFilter : IFilter public interface IActionFilter : IFilterMetadata
{ {
void OnActionExecuting([NotNull] ActionExecutingContext context); void OnActionExecuting([NotNull] ActionExecutingContext context);

View File

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

View File

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

View File

@ -6,7 +6,7 @@ using Microsoft.Framework.Internal;
namespace Microsoft.AspNet.Mvc namespace Microsoft.AspNet.Mvc
{ {
public interface IAsyncExceptionFilter : IFilter public interface IAsyncExceptionFilter : IFilterMetadata
{ {
Task OnExceptionAsync([NotNull] ExceptionContext context); 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 /// A filter which surrounds execution of model binding, the action (and filters) and the action result
/// (and filters). /// (and filters).
/// </summary> /// </summary>
public interface IAsyncResourceFilter : IFilter public interface IAsyncResourceFilter : IFilterMetadata
{ {
/// <summary> /// <summary>
/// Executes the resource filter. /// Executes the resource filter.

View File

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

View File

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

View File

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

View File

@ -5,6 +5,6 @@ namespace Microsoft.AspNet.Mvc.Filters
{ {
public interface IFilterContainer 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 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 namespace Microsoft.AspNet.Mvc
{ {
public interface IFilter public interface IFilterMetadata
{ {
} }
} }

View File

@ -3,7 +3,7 @@
namespace Microsoft.AspNet.Mvc namespace Microsoft.AspNet.Mvc
{ {
public interface IOrderedFilter : IFilter public interface IOrderedFilter : IFilterMetadata
{ {
/// <summary> /// <summary>
/// Gets the order value for determining the order of execution of filters. Filters execute in /// 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 /// A filter which surrounds execution of model binding, the action (and filters) and the action result
/// (and filters). /// (and filters).
/// </summary> /// </summary>
public interface IResourceFilter : IFilter public interface IResourceFilter : IFilterMetadata
{ {
/// <summary> /// <summary>
/// Executes the resource filter. Called before execution of the remainder of the pipeline. /// 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 namespace Microsoft.AspNet.Mvc
{ {
public interface IResultFilter : IFilter public interface IResultFilter : IFilterMetadata
{ {
void OnResultExecuting([NotNull] ResultExecutingContext context); void OnResultExecuting([NotNull] ResultExecutingContext context);

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -13,7 +13,7 @@ namespace Microsoft.AspNet.Mvc.ApplicationModels
{ {
ApiExplorer = new ApiExplorerModel(); ApiExplorer = new ApiExplorerModel();
Controllers = new List<ControllerModel>(); Controllers = new List<ControllerModel>();
Filters = new List<IFilter>(); Filters = new List<IFilterMetadata>();
Properties = new Dictionary<object, object>(); Properties = new Dictionary<object, object>();
} }
@ -32,7 +32,7 @@ namespace Microsoft.AspNet.Mvc.ApplicationModels
public IList<ControllerModel> Controllers { get; private set; } public IList<ControllerModel> Controllers { get; private set; }
public IList<IFilter> Filters { get; private set; } public IList<IFilterMetadata> Filters { get; private set; }
/// <summary> /// <summary>
/// Gets a set of properties associated with all actions. /// 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); Attributes = new List<object>(attributes);
AttributeRoutes = new List<AttributeRouteModel>(); AttributeRoutes = new List<AttributeRouteModel>();
ActionConstraints = new List<IActionConstraintMetadata>(); ActionConstraints = new List<IActionConstraintMetadata>();
Filters = new List<IFilter>(); Filters = new List<IFilterMetadata>();
RouteConstraints = new List<IRouteConstraintProvider>(); RouteConstraints = new List<IRouteConstraintProvider>();
Properties = new Dictionary<object, object>(); Properties = new Dictionary<object, object>();
ControllerProperties = new List<PropertyModel>(); ControllerProperties = new List<PropertyModel>();
@ -40,7 +40,7 @@ namespace Microsoft.AspNet.Mvc.ApplicationModels
// These are just metadata, safe to create new collections // These are just metadata, safe to create new collections
ActionConstraints = new List<IActionConstraintMetadata>(other.ActionConstraints); ActionConstraints = new List<IActionConstraintMetadata>(other.ActionConstraints);
Attributes = new List<object>(other.Attributes); Attributes = new List<object>(other.Attributes);
Filters = new List<IFilter>(other.Filters); Filters = new List<IFilterMetadata>(other.Filters);
RouteConstraints = new List<IRouteConstraintProvider>(other.RouteConstraints); RouteConstraints = new List<IRouteConstraintProvider>(other.RouteConstraints);
Properties = new Dictionary<object, object>(other.Properties); Properties = new Dictionary<object, object>(other.Properties);
@ -81,7 +81,7 @@ namespace Microsoft.AspNet.Mvc.ApplicationModels
public IList<PropertyModel> ControllerProperties { get; } 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; } public IList<IRouteConstraintProvider> RouteConstraints { get; private set; }

View File

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

View File

@ -373,9 +373,9 @@ namespace Microsoft.AspNet.Mvc
private static void AddActionFilters( private static void AddActionFilters(
ControllerActionDescriptor actionDescriptor, ControllerActionDescriptor actionDescriptor,
IEnumerable<IFilter> actionFilters, IEnumerable<IFilterMetadata> actionFilters,
IEnumerable<IFilter> controllerFilters, IEnumerable<IFilterMetadata> controllerFilters,
IEnumerable<IFilter> globalFilters) IEnumerable<IFilterMetadata> globalFilters)
{ {
actionDescriptor.FilterDescriptors = actionDescriptor.FilterDescriptors =
actionFilters.Select(f => new FilterDescriptor(f, FilterScope.Action)) 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(actualFilter != null, "actualFilter should not be null");
Debug.Assert(filterMetadata != null, "filterMetadata 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 ILogger _logger;
private readonly int _maxModelValidationErrors; private readonly int _maxModelValidationErrors;
private IFilter[] _filters; private IFilterMetadata[] _filters;
private FilterCursor _cursor; private FilterCursor _cursor;
private AuthorizationContext _authorizationContext; private AuthorizationContext _authorizationContext;
@ -162,7 +162,7 @@ namespace Microsoft.AspNet.Mvc.Core
} }
} }
private IFilter[] GetFilters() private IFilterMetadata[] GetFilters()
{ {
var context = new FilterProviderContext( var context = new FilterProviderContext(
ActionContext, ActionContext,
@ -759,16 +759,16 @@ namespace Microsoft.AspNet.Mvc.Core
{ {
private FilterStage _stage; private FilterStage _stage;
private int _index; 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; _stage = stage;
_index = index; _index = index;
_filters = filters; _filters = filters;
} }
public FilterCursor(IFilter[] filters) public FilterCursor(IFilterMetadata[] filters)
{ {
_stage = FilterStage.Undefined; _stage = FilterStage.Undefined;
_index = 0; _index = 0;

View File

@ -15,43 +15,43 @@ namespace Microsoft.AspNet.Mvc
public static class FilterCollectionExtensions public static class FilterCollectionExtensions
{ {
/// <summary> /// <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> /// </summary>
/// <param name="filters">A collection of <see cref="IFilter"/>.</param> /// <param name="filters">A collection of <see cref="IFilterMetadata"/>.</param>
/// <param name="filterType">Type representing an <see cref="IFilter"/>.</param> /// <param name="filterType">Type representing an <see cref="IFilterMetadata"/>.</param>
/// <returns>An <see cref="IFilter"/> representing the added type.</returns> /// <returns>An <see cref="IFilterMetadata"/> representing the added type.</returns>
/// <remarks> /// <remarks>
/// Filter instances will be created using /// Filter instances will be created using
/// <see cref="Microsoft.Framework.DependencyInjection.ActivatorUtilities"/>. /// <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> /// </remarks>
public static IFilter Add( public static IFilterMetadata Add(
[NotNull] this ICollection<IFilter> filters, [NotNull] this ICollection<IFilterMetadata> filters,
[NotNull] Type filterType) [NotNull] Type filterType)
{ {
return Add(filters, filterType, order: 0); return Add(filters, filterType, order: 0);
} }
/// <summary> /// <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> /// </summary>
/// <param name="filters">A collection of <see cref="IFilter"/>.</param> /// <param name="filters">A collection of <see cref="IFilterMetadata"/>.</param>
/// <param name="filterType">Type representing an <see cref="IFilter"/>.</param> /// <param name="filterType">Type representing an <see cref="IFilterMetadata"/>.</param>
/// <param name="order">The order of the added filter.</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> /// <remarks>
/// Filter instances will be created using /// Filter instances will be created using
/// <see cref="Microsoft.Framework.DependencyInjection.ActivatorUtilities"/>. /// <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> /// </remarks>
public static IFilter Add( public static IFilterMetadata Add(
[NotNull] this ICollection<IFilter> filters, [NotNull] this ICollection<IFilterMetadata> filters,
[NotNull] Type filterType, [NotNull] Type filterType,
int order) 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)); throw new ArgumentException(message, nameof(filterType));
} }
@ -61,43 +61,43 @@ namespace Microsoft.AspNet.Mvc
} }
/// <summary> /// <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> /// </summary>
/// <param name="filters">A collection of <see cref="IFilter"/>.</param> /// <param name="filters">A collection of <see cref="IFilterMetadata"/>.</param>
/// <param name="filterType">Type representing an <see cref="IFilter"/>.</param> /// <param name="filterType">Type representing an <see cref="IFilterMetadata"/>.</param>
/// <returns>An <see cref="IFilter"/> representing the added service type.</returns> /// <returns>An <see cref="IFilterMetadata"/> representing the added service type.</returns>
/// <remarks> /// <remarks>
/// Filter instances will created through dependency injection. Use /// 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. /// type activation.
/// </remarks> /// </remarks>
public static IFilter AddService( public static IFilterMetadata AddService(
[NotNull] this ICollection<IFilter> filters, [NotNull] this ICollection<IFilterMetadata> filters,
[NotNull] Type filterType) [NotNull] Type filterType)
{ {
return AddService(filters, filterType, order: 0); return AddService(filters, filterType, order: 0);
} }
/// <summary> /// <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> /// </summary>
/// <param name="filters">A collection of <see cref="IFilter"/>.</param> /// <param name="filters">A collection of <see cref="IFilterMetadata"/>.</param>
/// <param name="filterType">Type representing an <see cref="IFilter"/>.</param> /// <param name="filterType">Type representing an <see cref="IFilterMetadata"/>.</param>
/// <param name="order">The order of the added filter.</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> /// <remarks>
/// Filter instances will created through dependency injection. Use /// 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. /// type activation.
/// </remarks> /// </remarks>
public static IFilter AddService( public static IFilterMetadata AddService(
[NotNull] this ICollection<IFilter> filters, [NotNull] this ICollection<IFilterMetadata> filters,
[NotNull] Type filterType, [NotNull] Type filterType,
int order) 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)); throw new ArgumentException(message, nameof(filterType));
} }

View File

@ -20,7 +20,7 @@ namespace Microsoft.AspNet.Mvc
public MvcOptions() public MvcOptions()
{ {
Conventions = new List<IApplicationModelConvention>(); Conventions = new List<IApplicationModelConvention>();
Filters = new List<IFilter>(); Filters = new List<IFilterMetadata>();
InputFormatters = new List<IInputFormatter>(); InputFormatters = new List<IInputFormatter>();
OutputFormatters = new List<IOutputFormatter>(); OutputFormatters = new List<IOutputFormatter>();
ModelBinders = new List<IModelBinder>(); ModelBinders = new List<IModelBinder>();
@ -31,10 +31,10 @@ namespace Microsoft.AspNet.Mvc
} }
/// <summary> /// <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. /// apply to all actions.
/// </summary> /// </summary>
public ICollection<IFilter> Filters { get; } public ICollection<IFilterMetadata> Filters { get; }
/// <summary> /// <summary>
/// Gets a list of <see cref="IOutputFormatter"/>s that are used by this application. /// 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 int Order { get; set; }
public IFilter CreateInstance([NotNull] IServiceProvider serviceProvider) public IFilterMetadata CreateInstance([NotNull] IServiceProvider serviceProvider)
{ {
var service = serviceProvider.GetRequiredService(ServiceType); var service = serviceProvider.GetRequiredService(ServiceType);
var filter = service as IFilter; var filter = service as IFilterMetadata;
if (filter == null) if (filter == null)
{ {
throw new InvalidOperationException(Resources.FormatFilterFactoryAttribute_TypeMustImplementIFilter( throw new InvalidOperationException(Resources.FormatFilterFactoryAttribute_TypeMustImplementIFilter(
typeof(ServiceFilterAttribute).Name, typeof(ServiceFilterAttribute).Name,
typeof(IFilter).Name)); typeof(IFilterMetadata).Name));
} }
return filter; return filter;

View File

@ -26,7 +26,7 @@ namespace Microsoft.AspNet.Mvc
public int Order { get; set; } public int Order { get; set; }
public IFilter CreateInstance([NotNull] IServiceProvider serviceProvider) public IFilterMetadata CreateInstance([NotNull] IServiceProvider serviceProvider)
{ {
if (_factory == null) if (_factory == null)
{ {
@ -35,7 +35,7 @@ namespace Microsoft.AspNet.Mvc
_factory = ActivatorUtilities.CreateFactory(ImplementationType, argumentTypes ?? Type.EmptyTypes); _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 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 // 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. // 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>(); var filter = serviceProvider.GetRequiredService<CorsAuthorizationFilter>();
filter.PolicyName = _policyName; filter.PolicyName = _policyName;

View File

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

View File

@ -8,7 +8,7 @@ namespace Microsoft.AspNet.Mvc
/// <summary> /// <summary>
/// A filter which produces a desired content type for the current request. /// A filter which produces a desired content type for the current request.
/// </summary> /// </summary>
public interface IFormatFilter : IFilter public interface IFormatFilter : IFilterMetadata
{ {
/// <summary> /// <summary>
/// format value in the current request. <c>null</c> if format not present in the current request. /// 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> /// </summary>
public int Order { get; set; } public int Order { get; set; }
public IFilter CreateInstance([NotNull] IServiceProvider serviceProvider) public IFilterMetadata CreateInstance([NotNull] IServiceProvider serviceProvider)
{ {
var optionsAccessor = serviceProvider.GetRequiredService<IOptions<MvcCacheOptions>>(); var optionsAccessor = serviceProvider.GetRequiredService<IOptions<MvcCacheOptions>>();

View File

@ -12,7 +12,7 @@ namespace Microsoft.AspNet.Mvc
{ {
public int Order { get; set; } public int Order { get; set; }
public IFilter CreateInstance(IServiceProvider serviceProvider) public IFilterMetadata CreateInstance(IServiceProvider serviceProvider)
{ {
var antiforgery = serviceProvider.GetRequiredService<IAntiforgery>(); var antiforgery = serviceProvider.GetRequiredService<IAntiforgery>();
return new ValidateAntiforgeryTokenAuthorizationFilter(antiforgery); 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) 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 // Arrange
var globalFilter = new MyFilterAttribute(1); var globalFilter = new MyFilterAttribute(1);
var provider = GetProvider(typeof(FiltersController).GetTypeInfo(), new IFilter[] var provider = GetProvider(typeof(FiltersController).GetTypeInfo(), new IFilterMetadata[]
{ {
globalFilter, globalFilter,
}); });
@ -379,7 +379,7 @@ namespace Microsoft.AspNet.Mvc.Test
{ {
// Arrange // Arrange
var filter = new MyFilterAttribute(1); var filter = new MyFilterAttribute(1);
var provider = GetProvider(typeof(PersonController).GetTypeInfo(), new IFilter[] var provider = GetProvider(typeof(PersonController).GetTypeInfo(), new IFilterMetadata[]
{ {
filter, filter,
}); });
@ -1447,7 +1447,7 @@ namespace Microsoft.AspNet.Mvc.Test
private ControllerActionDescriptorProvider GetProvider( private ControllerActionDescriptorProvider GetProvider(
TypeInfo controllerTypeInfo, TypeInfo controllerTypeInfo,
IEnumerable<IFilter> filters = null) IEnumerable<IFilterMetadata> filters = null)
{ {
var options = new MockMvcOptionsAccessor(); var options = new MockMvcOptionsAccessor();
if (filters != null) 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) public MyFilterAttribute(int value)
{ {

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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