public ControllerActionInvoker(
            [NotNull] ActionContext actionContext,
            [NotNull] INestedProviderManager <FilterProviderContext> filterProvider,
            [NotNull] IControllerFactory controllerFactory,
            [NotNull] ControllerActionDescriptor descriptor,
            [NotNull] IInputFormattersProvider inputFormatterProvider,
            [NotNull] IControllerActionArgumentBinder controllerActionArgumentBinder,
            [NotNull] IModelBinderProvider modelBinderProvider,
            [NotNull] IModelValidatorProviderProvider modelValidatorProviderProvider,
            [NotNull] IValueProviderFactoryProvider valueProviderFactoryProvider,
            [NotNull] IScopedInstance <ActionBindingContext> actionBindingContextAccessor)
            : base(
                actionContext,
                filterProvider,
                inputFormatterProvider,
                modelBinderProvider,
                modelValidatorProviderProvider,
                valueProviderFactoryProvider,
                actionBindingContextAccessor)
        {
            _descriptor        = descriptor;
            _controllerFactory = controllerFactory;
            _argumentBinder    = controllerActionArgumentBinder;

            if (descriptor.MethodInfo == null)
            {
                throw new ArgumentException(
                          Resources.FormatPropertyOfTypeCannotBeNull("MethodInfo",
                                                                     typeof(ControllerActionDescriptor)),
                          "descriptor");
            }
        }
Beispiel #2
0
        private static IServiceProvider GetServiceProvider(IScopedInstance <AntiForgeryContext> contextAccessor)
        {
            var serviceCollection = new ServiceCollection();

            serviceCollection.AddInstance <IScopedInstance <AntiForgeryContext> >(contextAccessor);
            return(serviceCollection.BuildServiceProvider());
        }
 public CustomUrlHelper(IScopedInstance<ActionContext> contextAccessor, IActionSelector actionSelector,
                        IOptions<AppOptions> appOptions)
     : base(contextAccessor, actionSelector)
 {
     _appOptions = appOptions;
     _httpContext = contextAccessor.Value.HttpContext;
 }
Beispiel #4
0
 /// <summary>
 /// Initializes a new instance of the <see cref="UrlHelper"/> class using the specified action context and
 /// action selector.
 /// </summary>
 /// <param name="contextAccessor">The <see cref="IScopedInstance{TContext}"/> to access the action context
 /// of the current request.</param>
 /// <param name="actionSelector">The <see cref="IActionSelector"/> to be used for verifying the correctness of
 /// supplied parameters for a route.
 /// </param>
 public UrlHelper(IScopedInstance <ActionContext> contextAccessor, IActionSelector actionSelector)
 {
     _httpContext    = contextAccessor.Value.HttpContext;
     _router         = contextAccessor.Value.RouteData.Routers[0];
     _ambientValues  = contextAccessor.Value.RouteData.Values;
     _actionSelector = actionSelector;
 }
Beispiel #5
0
 public CustomUrlHelper(IScopedInstance <ActionContext> contextAccessor, IActionSelector actionSelector,
                        IOptions <AppOptions> appOptions)
     : base(contextAccessor, actionSelector)
 {
     _appOptions  = appOptions;
     _httpContext = contextAccessor.Value.HttpContext;
 }
Beispiel #6
0
 /// <summary>
 /// Initializes a new instance of the <see cref="UrlHelper"/> class using the specified action context and
 /// action selector.
 /// </summary>
 /// <param name="contextAccessor">The <see cref="IScopedInstance{TContext}"/> to access the action context
 /// of the current request.</param>
 /// <param name="actionSelector">The <see cref="IActionSelector"/> to be used for verifying the correctness of
 /// supplied parameters for a route.
 /// </param>
 public UrlHelper(IScopedInstance<ActionContext> contextAccessor, IActionSelector actionSelector)
 {
     _httpContext = contextAccessor.Value.HttpContext;
     _router = contextAccessor.Value.RouteData.Routers[0];
     _ambientValues = contextAccessor.Value.RouteData.Values;
     _actionSelector = actionSelector;
 }
 public TestResponseGenerator(IScopedInstance<ActionContext> contextAccessor)
 {
     _actionContext = contextAccessor.Value;
     if (_actionContext == null)
     {
         throw new InvalidOperationException("ActionContext should not be null here.");
     }
 }
Beispiel #8
0
 public TestResponseGenerator(IScopedInstance <ActionContext> contextAccessor)
 {
     _actionContext = contextAccessor.Value;
     if (_actionContext == null)
     {
         throw new InvalidOperationException("ActionContext should not be null here.");
     }
 }
 public TestableHtmlGenerator(
     IModelMetadataProvider metadataProvider,
     IScopedInstance <ActionBindingContext> bindingContextAccessor,
     IUrlHelper urlHelper,
     IDictionary <string, object> validationAttributes)
     : base(GetAntiForgery(), bindingContextAccessor, metadataProvider, urlHelper)
 {
     _validationAttributes = validationAttributes;
 }
 public TestableHtmlGenerator(
     IModelMetadataProvider metadataProvider,
     IScopedInstance<ActionBindingContext> bindingContextAccessor,
     IUrlHelper urlHelper,
     IDictionary<string, object> validationAttributes)
     : base(GetAntiForgery(), bindingContextAccessor, metadataProvider, urlHelper, new HtmlEncoder())
 {
     _validationAttributes = validationAttributes;
 }
Beispiel #11
0
        public BundleModel(IUrlManager urlManager, IScopedInstance<ActionContext> action)
            : base("bundle", urlManager, action)
        {
            if (!ParsedPath.Names.Any())
            {
                throw new InvalidOperationException("The bundle route value does not contain a bundle name");
            }

            _bundleName = ParsedPath.Names.Single();
        }
Beispiel #12
0
 /// <summary>
 /// Creates a new <see cref="BodyModelBinder"/>.
 /// </summary>
 /// <param name="context">An accessor to the <see cref="ActionContext"/>.</param>
 /// <param name="bindingContext">An accessor to the <see cref="ActionBindingContext"/>.</param>
 /// <param name="selector">The <see cref="IInputFormatterSelector"/>.</param>
 /// <param name="bodyValidationExcludeFiltersProvider">
 /// The <see cref="IValidationExcludeFiltersProvider"/>.
 /// </param>
 public BodyModelBinder([NotNull] IScopedInstance <ActionContext> context,
                        [NotNull] IScopedInstance <ActionBindingContext> bindingContext,
                        [NotNull] IInputFormatterSelector selector,
                        [NotNull] IValidationExcludeFiltersProvider bodyValidationExcludeFiltersProvider)
     : base(BindingSource.Body)
 {
     _actionContext     = context.Value;
     _bindingContext    = bindingContext;
     _formatterSelector = selector;
     _bodyValidationExcludeFiltersProvider = bodyValidationExcludeFiltersProvider;
 }
Beispiel #13
0
 /// <summary>
 /// Creates a new <see cref="BodyModelBinder"/>.
 /// </summary>
 /// <param name="context">An accessor to the <see cref="ActionContext"/>.</param>
 /// <param name="bindingContext">An accessor to the <see cref="ActionBindingContext"/>.</param>
 /// <param name="selector">The <see cref="IInputFormatterSelector"/>.</param>
 /// <param name="bodyValidationExcludeFiltersProvider">
 /// The <see cref="IValidationExcludeFiltersProvider"/>.
 /// </param>
 public BodyModelBinder([NotNull] IScopedInstance<ActionContext> context,
                        [NotNull] IScopedInstance<ActionBindingContext> bindingContext,
                        [NotNull] IInputFormatterSelector selector,
                        [NotNull] IValidationExcludeFiltersProvider bodyValidationExcludeFiltersProvider)
     : base(BindingSource.Body)
 {
     _actionContext = context.Value;
     _bindingContext = bindingContext;
     _formatterSelector = selector;
     _bodyValidationExcludeFiltersProvider = bodyValidationExcludeFiltersProvider;
 }
Beispiel #14
0
        /// <summary>
        /// Initializes an instance of <see cref="FormatFilter"/>.
        /// </summary>
        /// <param name="options">The <see cref="IOptions{MvcOptions}"/></param>
        /// <param name="actionContext">The <see cref="IScopedInstance{ActionContext}"/></param>
        public FormatFilter(IOptions <MvcOptions> options, IScopedInstance <ActionContext> actionContext)
        {
            IsActive = true;
            Format   = GetFormat(actionContext.Value);

            if (string.IsNullOrEmpty(Format))
            {
                IsActive = false;
                return;
            }

            ContentType = options.Options.FormatterMappings.GetMediaTypeMappingForFormat(Format);
        }
Beispiel #15
0
        /// <summary>
        /// Initializes an instance of <see cref="FormatFilter"/>.
        /// </summary>
        /// <param name="options">The <see cref="IOptions{MvcOptions}"/></param>
        /// <param name="actionContext">The <see cref="IScopedInstance{ActionContext}"/></param>
        public FormatFilter(IOptions<MvcFormatterMappingOptions> options, IScopedInstance<ActionContext> actionContext)
        {
            IsActive = true;
            Format = GetFormat(actionContext.Value);

            if (string.IsNullOrEmpty(Format))
            {
                IsActive = false;
                return;
            }

            ContentType = options.Options.FormatterMappings.GetMediaTypeMappingForFormat(Format);
        }
Beispiel #16
0
        /// <summary>
        /// Initializes a new instance of the <see cref="DefaultHtmlGenerator"/> class.
        /// </summary>
        public DefaultHtmlGenerator(
            [NotNull] AntiForgery antiForgery,
            [NotNull] IScopedInstance <ActionBindingContext> bindingContextAccessor,
            [NotNull] IModelMetadataProvider metadataProvider,
            [NotNull] IUrlHelper urlHelper)
        {
            _antiForgery            = antiForgery;
            _bindingContextAccessor = bindingContextAccessor;
            _metadataProvider       = metadataProvider;
            _urlHelper = urlHelper;

            // Underscores are fine characters in id's.
            IdAttributeDotReplacement = "_";
        }
Beispiel #17
0
        public FilterActionInvoker(
            [NotNull] ActionContext actionContext,
            [NotNull] INestedProviderManager <FilterProviderContext> filterProvider,
            [NotNull] IInputFormattersProvider inputFormatterProvider,
            [NotNull] IModelBinderProvider modelBinderProvider,
            [NotNull] IModelValidatorProviderProvider modelValidatorProviderProvider,
            [NotNull] IValueProviderFactoryProvider valueProviderFactoryProvider,
            [NotNull] IScopedInstance <ActionBindingContext> actionBindingContextAccessor)
        {
            ActionContext = actionContext;

            _filterProvider                 = filterProvider;
            _inputFormatterProvider         = inputFormatterProvider;
            _modelBinderProvider            = modelBinderProvider;
            _modelValidatorProviderProvider = modelValidatorProviderProvider;
            _valueProviderFactoryProvider   = valueProviderFactoryProvider;
            _actionBindingContextAccessor   = actionBindingContextAccessor;
        }
 public ModuleActionInvokerProvider(
     IModuleFactory moduleFactory,
     IEnumerable<IFilterProvider> filterProviders,
     IInputFormattersProvider inputFormattersProvider,
     IModelBinderProvider modelBinderProvider,
     IModelValidatorProviderProvider modelValidatorProviderProvider,
     IValueProviderFactoryProvider valueProviderFactoryProvider,
     IScopedInstance<ActionBindingContext> actionBindingContextAccessor,
     IServiceProvider serviceProvider)
 {
     _moduleFactory = moduleFactory;
     _filterProviders = filterProviders.OrderBy(p => p.Order).ToList();
     _inputFormattersProvider = inputFormattersProvider;
     _modelBinderProvider = modelBinderProvider;
     _modelValidatorProviderProvider = modelValidatorProviderProvider;
     _valueProviderFactoryProvider = valueProviderFactoryProvider;
     _actionBindingContextAccessor = actionBindingContextAccessor;
     _serviceProvider = serviceProvider;
 }
Beispiel #19
0
 public ControllerActionInvokerProvider(
     IControllerFactory controllerFactory,
     IInputFormattersProvider inputFormattersProvider,
     INestedProviderManager <FilterProviderContext> filterProvider,
     IControllerActionArgumentBinder argumentBinder,
     IModelBinderProvider modelBinderProvider,
     IModelValidatorProviderProvider modelValidationProviderProvider,
     IValueProviderFactoryProvider valueProviderFactoryProvider,
     IScopedInstance <ActionBindingContext> actionBindingContextAccessor)
 {
     _controllerFactory               = controllerFactory;
     _inputFormattersProvider         = inputFormattersProvider;
     _filterProvider                  = filterProvider;
     _argumentBinder                  = argumentBinder;
     _modelBinderProvider             = modelBinderProvider;
     _modelValidationProviderProvider = modelValidationProviderProvider;
     _valueProviderFactoryProvider    = valueProviderFactoryProvider;
     _actionBindingContextAccessor    = actionBindingContextAccessor;
 }
 public ControllerActionInvokerProvider(
     IControllerFactory controllerFactory,
     IInputFormattersProvider inputFormattersProvider,
     IEnumerable<IFilterProvider> filterProviders,
     IControllerActionArgumentBinder argumentBinder,
     IModelBinderProvider modelBinderProvider,
     IModelValidatorProviderProvider modelValidationProviderProvider,
     IValueProviderFactoryProvider valueProviderFactoryProvider,
     IScopedInstance<ActionBindingContext> actionBindingContextAccessor,
     ITempDataDictionary tempData)
 {
     _controllerFactory = controllerFactory;
     _inputFormattersProvider = inputFormattersProvider;
     _filterProviders = filterProviders.OrderBy(item => item.Order).ToArray();
     _argumentBinder = argumentBinder;
     _modelBinderProvider = modelBinderProvider;
     _modelValidationProviderProvider = modelValidationProviderProvider;
     _valueProviderFactoryProvider = valueProviderFactoryProvider;
     _actionBindingContextAccessor = actionBindingContextAccessor;
     _tempData = tempData;
 }
Beispiel #21
0
 public ControllerActionInvokerProvider(
     IControllerFactory controllerFactory,
     IInputFormattersProvider inputFormattersProvider,
     IEnumerable <IFilterProvider> filterProviders,
     IControllerActionArgumentBinder argumentBinder,
     IModelBinderProvider modelBinderProvider,
     IModelValidatorProviderProvider modelValidationProviderProvider,
     IValueProviderFactoryProvider valueProviderFactoryProvider,
     IScopedInstance <ActionBindingContext> actionBindingContextAccessor,
     ITempDataDictionary tempData)
 {
     _controllerFactory               = controllerFactory;
     _inputFormattersProvider         = inputFormattersProvider;
     _filterProviders                 = filterProviders.OrderBy(item => item.Order).ToArray();
     _argumentBinder                  = argumentBinder;
     _modelBinderProvider             = modelBinderProvider;
     _modelValidationProviderProvider = modelValidationProviderProvider;
     _valueProviderFactoryProvider    = valueProviderFactoryProvider;
     _actionBindingContextAccessor    = actionBindingContextAccessor;
     _tempData = tempData;
 }
        public ControllerActionInvoker(
            [NotNull] ActionContext actionContext,
            [NotNull] IReadOnlyList <IFilterProvider> filterProviders,
            [NotNull] IControllerFactory controllerFactory,
            [NotNull] ControllerActionDescriptor descriptor,
            [NotNull] IReadOnlyList <IInputFormatter> inputFormatters,
            [NotNull] IReadOnlyList <IOutputFormatter> outputFormatters,
            [NotNull] IControllerActionArgumentBinder controllerActionArgumentBinder,
            [NotNull] IReadOnlyList <IModelBinder> modelBinders,
            [NotNull] IReadOnlyList <IModelValidatorProvider> modelValidatorProviders,
            [NotNull] IReadOnlyList <IValueProviderFactory> valueProviderFactories,
            [NotNull] IScopedInstance <ActionBindingContext> actionBindingContextAccessor,
            [NotNull] ITempDataDictionary tempData,
            [NotNull] ILoggerFactory loggerFactory,
            int maxModelValidationErrors)
            : base(
                actionContext,
                filterProviders,
                inputFormatters,
                outputFormatters,
                modelBinders,
                modelValidatorProviders,
                valueProviderFactories,
                actionBindingContextAccessor,
                loggerFactory,
                maxModelValidationErrors)
        {
            _descriptor        = descriptor;
            _controllerFactory = controllerFactory;
            _argumentBinder    = controllerActionArgumentBinder;
            _tempData          = tempData;

            if (descriptor.MethodInfo == null)
            {
                throw new ArgumentException(
                          Resources.FormatPropertyOfTypeCannotBeNull("MethodInfo",
                                                                     typeof(ControllerActionDescriptor)),
                          "descriptor");
            }
        }
 public ControllerActionInvokerProvider(
     IControllerFactory controllerFactory,
     IEnumerable<IFilterProvider> filterProviders,
     IControllerActionArgumentBinder argumentBinder,
     IOptions<MvcOptions> optionsAccessor,
     IScopedInstance<ActionBindingContext> actionBindingContextAccessor,
     ITempDataDictionary tempData,
     ILoggerFactory loggerFactory)
 {
     _controllerFactory = controllerFactory;
     _filterProviders = filterProviders.OrderBy(item => item.Order).ToArray();
     _argumentBinder = argumentBinder;
     _inputFormatters = optionsAccessor.Options.InputFormatters.ToArray();
     _outputFormatters = optionsAccessor.Options.OutputFormatters.ToArray();
     _modelBinders = optionsAccessor.Options.ModelBinders.ToArray();
     _modelValidatorProviders = optionsAccessor.Options.ModelValidatorProviders.ToArray();
     _valueProviderFactories = optionsAccessor.Options.ValueProviderFactories.ToArray();
     _actionBindingContextAccessor = actionBindingContextAccessor;
     _tempData = tempData;
     _maxModelValidationErrors = optionsAccessor.Options.MaxModelValidationErrors;
     _loggerFactory = loggerFactory;
 }
Beispiel #24
0
 public ControllerActionInvokerProvider(
     IControllerFactory controllerFactory,
     IEnumerable <IFilterProvider> filterProviders,
     IControllerActionArgumentBinder argumentBinder,
     IOptions <MvcOptions> optionsAccessor,
     IScopedInstance <ActionBindingContext> actionBindingContextAccessor,
     ITempDataDictionary tempData,
     ILoggerFactory loggerFactory)
 {
     _controllerFactory            = controllerFactory;
     _filterProviders              = filterProviders.OrderBy(item => item.Order).ToArray();
     _argumentBinder               = argumentBinder;
     _inputFormatters              = optionsAccessor.Options.InputFormatters.ToArray();
     _outputFormatters             = optionsAccessor.Options.OutputFormatters.ToArray();
     _modelBinders                 = optionsAccessor.Options.ModelBinders.ToArray();
     _modelValidatorProviders      = optionsAccessor.Options.ModelValidatorProviders.ToArray();
     _valueProviderFactories       = optionsAccessor.Options.ValueProviderFactories.ToArray();
     _actionBindingContextAccessor = actionBindingContextAccessor;
     _tempData = tempData;
     _maxModelValidationErrors = optionsAccessor.Options.MaxModelValidationErrors;
     _loggerFactory            = loggerFactory;
 }
Beispiel #25
0
        public RequestModel(string valueName, IUrlManager urlManager, IScopedInstance<ActionContext> action)
        {
            //default
            LastFileWriteTime = DateTime.Now;

            Compression = action.Value.HttpContext.Request.GetClientCompression();

            var bundleId = (string)action.Value.RouteData.Values[valueName];
            ParsedPath = urlManager.ParsePath(bundleId);

            switch (ParsedPath.WebType)
            {
                case WebFileType.Js:
                    Extension = ".js";
                    Mime = "text/javascript";
                    break;
                case WebFileType.Css:
                default:
                    Extension = ".css";
                    Mime = "text/css";
                    break;
            }
        }
        public FilterActionInvoker(
            [NotNull] ActionContext actionContext,
            [NotNull] IReadOnlyList <IFilterProvider> filterProviders,
            [NotNull] IReadOnlyList <IInputFormatter> inputFormatters,
            [NotNull] IReadOnlyList <IOutputFormatter> outputFormatters,
            [NotNull] IReadOnlyList <IModelBinder> modelBinders,
            [NotNull] IReadOnlyList <IModelValidatorProvider> modelValidatorProviders,
            [NotNull] IReadOnlyList <IValueProviderFactory> valueProviderFactories,
            [NotNull] IScopedInstance <ActionBindingContext> actionBindingContextAccessor,
            [NotNull] ILoggerFactory loggerFactory,
            int maxModelValidationErrors)
        {
            ActionContext = actionContext;

            _filterProviders              = filterProviders;
            _inputFormatters              = inputFormatters;
            _outputFormatters             = outputFormatters;
            _modelBinders                 = modelBinders;
            _modelValidatorProviders      = modelValidatorProviders;
            _valueProviderFactories       = valueProviderFactories;
            _actionBindingContextAccessor = actionBindingContextAccessor;
            _logger = loggerFactory.CreateLogger <FilterActionInvoker>();
            _maxModelValidationErrors = maxModelValidationErrors;
        }
 private static IServiceProvider GetServiceProvider(IScopedInstance<AntiForgeryContext> contextAccessor)
 {
     var serviceCollection = new ServiceCollection();
     serviceCollection.AddInstance<IScopedInstance<AntiForgeryContext>>(contextAccessor);
     return serviceCollection.BuildServiceProvider();
 }
 public TestControllerActionInvoker(
     ActionContext actionContext,
     IFilterProvider[] filterProvider,
     MockControllerFactory controllerFactory,
     ControllerActionDescriptor descriptor,
     IInputFormattersProvider inputFormattersProvider,
     IControllerActionArgumentBinder controllerActionArgumentBinder,
     IModelBinderProvider modelBinderProvider,
     IModelValidatorProviderProvider modelValidatorProviderProvider,
     IValueProviderFactoryProvider valueProviderFactoryProvider,
     IScopedInstance<ActionBindingContext> actionBindingContext,
     ITempDataDictionary tempData)
     : base(
           actionContext,
           filterProvider,
           controllerFactory,
           descriptor,
           inputFormattersProvider,
           controllerActionArgumentBinder,
           modelBinderProvider,
           modelValidatorProviderProvider,
           valueProviderFactoryProvider,
           actionBindingContext,
           tempData)
 {
     ControllerFactory = controllerFactory;
 }
Beispiel #29
0
 private static UrlHelper CreateUrlHelper(IScopedInstance<ActionContext> contextAccessor)
 {
     var actionSelector = new Mock<IActionSelector>(MockBehavior.Strict);
     return new UrlHelper(contextAccessor, actionSelector.Object);
 }
Beispiel #30
0
 public UserSessionService(IScopedInstance <ActionContext> httpContext, MainContext db)
 {
     _actionContext         = httpContext.Value;
     _db                    = db;
     _activeUserSessionTask = new Lazy <SesionUsuario>(GetActiveUserSession);
 }
 public CompositeFileModel(IHasher hasher, IUrlManager urlManager, IScopedInstance<ActionContext> action)
     : base("file", urlManager, action)
 {
     //Creates a single hash of the full url (which can include many files)
     _fileSetKey = hasher.Hash(string.Join(".", ParsedPath.Names));
 }
Beispiel #32
0
        private static UrlHelper CreateUrlHelper(IScopedInstance <ActionContext> contextAccessor)
        {
            var actionSelector = new Mock <IActionSelector>(MockBehavior.Strict);

            return(new UrlHelper(contextAccessor, actionSelector.Object));
        }
 public TestControllerActionInvoker(
     ActionContext actionContext,
     IFilterProvider[] filterProvider,
     MockControllerFactory controllerFactory,
     ControllerActionDescriptor descriptor,
     IReadOnlyList<IInputFormatter> inputFormatters,
     IReadOnlyList<IOutputFormatter> outputFormatters,
     IControllerActionArgumentBinder controllerActionArgumentBinder,
     IReadOnlyList<IModelBinder> modelBinders,
     IReadOnlyList<IModelValidatorProvider> modelValidatorProviders,
     IReadOnlyList<IValueProviderFactory> valueProviderFactories,
     IScopedInstance<ActionBindingContext> actionBindingContext,
     ITempDataDictionary tempData,
     ILoggerFactory loggerFactory,
     int maxAllowedErrorsInModelState)
     : base(
           actionContext,
           filterProvider,
           controllerFactory,
           descriptor,
           inputFormatters,
           outputFormatters,
           controllerActionArgumentBinder,
           modelBinders,
           modelValidatorProviders,
           valueProviderFactories,
           actionBindingContext,
           tempData,
           loggerFactory,
           maxAllowedErrorsInModelState)
 {
     ControllerFactory = controllerFactory;
 }