Exemplo n.º 1
0
        /// <summary>
        /// Creates a new <see cref="BodyModelBinder"/>.
        /// </summary>
        /// <param name="formatters">The list of <see cref="IInputFormatter"/>.</param>
        /// <param name="readerFactory">
        /// The <see cref="IHttpRequestStreamReaderFactory"/>, used to create <see cref="System.IO.TextReader"/>
        /// instances for reading the request body.
        /// </param>
        /// <param name="loggerFactory">The <see cref="ILoggerFactory"/>.</param>
        /// <param name="options">The <see cref="MvcOptions"/>.</param>
        public BodyModelBinder(
            IList <IInputFormatter> formatters,
            IHttpRequestStreamReaderFactory readerFactory,
            ILoggerFactory loggerFactory,
            MvcOptions options)
        {
            if (formatters == null)
            {
                throw new ArgumentNullException(nameof(formatters));
            }

            if (readerFactory == null)
            {
                throw new ArgumentNullException(nameof(readerFactory));
            }

            _formatters    = formatters;
            _readerFactory = readerFactory.CreateReader;

            if (loggerFactory != null)
            {
                _logger = loggerFactory.CreateLogger <BodyModelBinder>();
            }

            _options = options;
        }
Exemplo n.º 2
0
 /// <summary>
 /// Creates a new <see cref="BodyModelBinder"/>.
 /// </summary>
 /// <param name="formatters">The list of <see cref="IInputFormatter"/>.</param>
 /// <param name="readerFactory">
 /// The <see cref="IHttpRequestStreamReaderFactory"/>, used to create <see cref="System.IO.TextReader"/>
 /// instances for reading the request body.
 /// </param>
 /// <param name="loggerFactory">The <see cref="ILoggerFactory"/>.</param>
 public BodyModelBinder(
     IList <IInputFormatter> formatters,
     IHttpRequestStreamReaderFactory readerFactory,
     ILoggerFactory loggerFactory)
     : this(formatters, readerFactory, loggerFactory, options : null)
 {
 }
 /// <summary>
 /// Instantiates a new <see cref="SalesforceNotificationsModelBinderProvider"/> instance.
 /// </summary>
 /// <param name="loggerFactory">The <see cref="ILoggerFactory"/>.</param>
 /// <param name="options">The <see cref="MvcOptions"/>.</param>
 /// <param name="readerFactory">The <see cref="IHttpRequestStreamReaderFactory"/>.</param>
 public SalesforceNotificationsModelBinderProvider(
     ILoggerFactory loggerFactory,
     MvcOptions options,
     IHttpRequestStreamReaderFactory readerFactory)
 {
     _bodyModelBinder = new BodyModelBinder(options.InputFormatters, readerFactory, loggerFactory, options);
 }
        /// <summary>
        /// Creates a new <see cref="DynamicDtoModelBinder"/>.
        /// </summary>
        /// <param name="formatters">The list of <see cref="IInputFormatter"/>.</param>
        /// <param name="readerFactory">
        /// The <see cref="IHttpRequestStreamReaderFactory"/>, used to create <see cref="System.IO.TextReader"/>
        /// instances for reading the request body.
        /// </param>
        /// <param name="loggerFactory">The <see cref="ILoggerFactory"/>.</param>
        /// <param name="options">The <see cref="MvcOptions"/>.</param>
        /// <param name="dynamicDtoTypeBuilder">Dynamic DTO builder</param>
        public DynamicDtoModelBinder(
            IList <IInputFormatter> formatters,
            IHttpRequestStreamReaderFactory readerFactory,
            ILoggerFactory?loggerFactory,
            MvcOptions?options,
            IDynamicDtoTypeBuilder dynamicDtoTypeBuilder)
        {
            if (formatters == null)
            {
                throw new ArgumentNullException(nameof(formatters));
            }

            if (readerFactory == null)
            {
                throw new ArgumentNullException(nameof(readerFactory));
            }

            _formatters    = formatters;
            _readerFactory = readerFactory.CreateReader;

            _logger = loggerFactory?.CreateLogger <DynamicDtoModelBinder>() ?? NullLogger <DynamicDtoModelBinder> .Instance;

            _options    = options;
            _dtoBuilder = dynamicDtoTypeBuilder;
        }
Exemplo n.º 5
0
 public HybridModelBinderSetup(
     IOptions <HybridModelBinderOptions> binderOptions,
     IHttpRequestStreamReaderFactory readerFactory)
 {
     this.binderOptions = binderOptions.Value;
     this.readerFactory = readerFactory;
 }
Exemplo n.º 6
0
        public NewtonsoftJsonModelBinder(
            IHttpRequestStreamReaderFactory readerFactory,
            ILoggerFactory loggerFactory,
            IOptions <MvcOptions> optionsProvider,
            IOptions <MvcNewtonsoftJsonOptions> newtonsoftOptionsProvider,
            ArrayPool <char> charPool,
            ObjectPoolProvider objectPoolProvider)
        {
            var options    = optionsProvider.Value;
            var formatters = options.InputFormatters.ToList();

            var jsonFormatter           = formatters.OfType <SystemTextJsonInputFormatter>().FirstOrDefault();
            var newtonsoftJsonFormatter = formatters.OfType <NewtonsoftJsonInputFormatter>().FirstOrDefault();

            if (jsonFormatter != null && newtonsoftJsonFormatter == null)
            {
                var jsonFormatterIndex = formatters.IndexOf(jsonFormatter);
                var logger             = loggerFactory.CreateLogger <NewtonsoftJsonInputFormatter>();
                var settings           = JsonSerializerSettingsProvider.CreateSerializerSettings();

                formatters[jsonFormatterIndex] = new NewtonsoftJsonInputFormatter(
                    logger, settings, charPool, objectPoolProvider, options, newtonsoftOptionsProvider.Value);
            }

            _bodyBinder = new BodyModelBinder(formatters, readerFactory, loggerFactory, options);
        }
 public WebSocketIoModelBinder(ILoggerFactory loggerFactory,
                               IHttpRequestStreamReaderFactory requestStreamReaderFactory,
                               MvcOptions options)
 {
     _loggerFactory = loggerFactory;
     _requestStreamReaderFactory = requestStreamReaderFactory;
     _options = options;
 }
 /// <summary>
 /// Creates a new <see cref="DynamicDtoModelBinder"/>.
 /// </summary>
 /// <param name="formatters">The list of <see cref="IInputFormatter"/>.</param>
 /// <param name="readerFactory">
 /// The <see cref="IHttpRequestStreamReaderFactory"/>, used to create <see cref="System.IO.TextReader"/>
 /// instances for reading the request body.
 /// </param>
 /// <param name="loggerFactory">The <see cref="ILoggerFactory"/>.</param>
 /// <param name="dynamicDtoTypeBuilder">Dynamic DTO builder</param>
 public DynamicDtoModelBinder(
     IList <IInputFormatter> formatters,
     IHttpRequestStreamReaderFactory readerFactory,
     ILoggerFactory?loggerFactory,
     IDynamicDtoTypeBuilder dynamicDtoTypeBuilder)
     : this(formatters, readerFactory, loggerFactory, options : null, dynamicDtoTypeBuilder)
 {
 }
Exemplo n.º 9
0
 public MiriBodyModelBinderProvider(MiriJsonInputFormatter miriJsonInputFormatter, IHttpRequestStreamReaderFactory readerFactory)
 {
     // use a custom ModelBinderProvider to register the MiriJsonInputFormatter in the default BodyModelBinder
     this.formatters = new List <IInputFormatter> {
         miriJsonInputFormatter
     };
     this.readerFactory = readerFactory;
 }
Exemplo n.º 10
0
 public UmbracoJsonModelBinder(
     ArrayPool <char> arrayPool,
     ObjectPoolProvider objectPoolProvider,
     IHttpRequestStreamReaderFactory readerFactory,
     ILoggerFactory loggerFactory)
     : base(GetNewtonsoftJsonFormatter(loggerFactory, arrayPool, objectPoolProvider), readerFactory, loggerFactory)
 {
 }
        public WebSubContentModelBinder(IOptions <MvcOptions> optionsAccessor, IHttpRequestStreamReaderFactory readerFactory, ILoggerFactory loggerFactory, IModelMetadataProvider metadataProvider)
        {
            MvcOptions options = optionsAccessor?.Value ?? throw new ArgumentNullException(nameof(optionsAccessor));

            _bodyModelBinder = new BodyModelBinder(options.InputFormatters, readerFactory, loggerFactory, options);

            _metadataProvider = metadataProvider ?? throw new ArgumentNullException(nameof(metadataProvider));
        }
 public DefaultPassthroughHybridModelBinderProvider(
     IList <IInputFormatter> formatters,
     IHttpRequestStreamReaderFactory readerFactory)
     : base(
         new HybridBindingSource(),
         new DefaultPassthroughHybridModelBinder(formatters, readerFactory))
 {
 }
Exemplo n.º 13
0
        /// <summary>
        /// Creates a new <see cref="BodyModelBinderProvider"/>.
        /// </summary>
        /// <param name="readerFactory">The <see cref="IHttpRequestStreamReaderFactory"/>.</param>
        public BodyModelBinderProvider(IHttpRequestStreamReaderFactory readerFactory)
        {
            if (readerFactory == null)
            {
                throw new ArgumentNullException(nameof(readerFactory));
            }

            _readerFactory = readerFactory;
        }
 /// <summary>
 /// Instantiates a new <see cref="StripeVerifyNotificationIdFilter"/> instance.
 /// </summary>
 /// <param name="loggerFactory">
 /// The <see cref="ILoggerFactory"/> used to initialize <see cref="WebHookSecurityFilter.Logger"/>.
 /// </param>
 /// /// <param name="metadataProvider">The <see cref="IModelMetadataProvider"/>.</param>
 /// <param name="optionsAccessor">
 /// The <see cref="IOptions{MvcOptions}"/> accessor for <see cref="MvcOptions"/>.
 /// </param>
 /// <param name="readerFactory">The <see cref="IHttpRequestStreamReaderFactory"/>.</param>
 /// <param name="receiverConfig">
 /// The <see cref="IWebHookReceiverConfig"/> used to initialize
 /// <see cref="WebHookSecurityFilter.Configuration"/> and <see cref="WebHookSecurityFilter.ReceiverConfig"/>.
 /// </param>
 public StripeVerifyNotificationIdFilter(
     ILoggerFactory loggerFactory,
     IModelMetadataProvider metadataProvider,
     IOptions <MvcOptions> optionsAccessor,
     IHttpRequestStreamReaderFactory readerFactory,
     IWebHookReceiverConfig receiverConfig)
     : this(loggerFactory, metadataProvider, optionsAccessor, readerFactory, receiverConfig, httpClient : null)
 {
 }
Exemplo n.º 15
0
        /// <summary>
        /// Creates a new <see cref="BodyModelBinderProvider"/>.
        /// </summary>
        /// <param name="readerFactory">The <see cref="IHttpRequestStreamReaderFactory"/>.</param>
        public BodyModelBinderProvider(IHttpRequestStreamReaderFactory readerFactory)
        {
            if (readerFactory == null)
            {
                throw new ArgumentNullException(nameof(readerFactory));
            }

            _readerFactory = readerFactory;
        }
 public DefaultHybridModelBinderProvider(
     IList <IInputFormatter> formatters,
     IHttpRequestStreamReaderFactory readerFactory,
     IEnumerable <string> fallbackBindingOrder)
     : base(
         new HybridBindingSource(),
         new DefaultHybridModelBinder(formatters, readerFactory, fallbackBindingOrder))
 {
 }
    public MyModelBinder(IHttpRequestStreamReaderFactory readerFactory, ILoggerFactory loggerFactory, IOptions <MvcOptions> options, IOptions <MvcJsonOptions> jsonOptions, ArrayPool <char> charPool, ObjectPoolProvider objectPoolProvider)
    {
        var formatters         = options.Value.InputFormatters.ToList();
        int jsonFormatterIndex = formatters.FirstIndexOf(formatter => formatter is JsonInputFormatter);
        JsonSerializerSettings myCustomSettings = ...
                                                  formatters[jsonFormatterIndex] = new JsonInputFormatter(loggerFactory.CreateLogger("MyCustomJsonFormatter"), myCustomSettings, charPool, objectPoolProvider, options.Value, jsonOptions.Value);

        _bodyModelBinder = new BodyModelBinder(formatters, readerFactory, loggerFactory, options.Value);
    }
Exemplo n.º 18
0
        public MvcCoreMvcOptionsSetup(IHttpRequestStreamReaderFactory readerFactory)
        {
            if (readerFactory == null)
            {
                throw new ArgumentNullException(nameof(readerFactory));
            }

            _readerFactory = readerFactory;
        }
Exemplo n.º 19
0
 public BodyOrOtherSourcesModelBinder(IHttpRequestStreamReaderFactory readerFactory, ILoggerFactory loggerFactory, IOptions <MvcOptions> options, IModelBinderFactory modelBinderFactory, IModelMetadataProvider modelMetadataProvider, ICompositeMetadataDetailsProvider detailsProvider)
     : base(options.Value.InputFormatters, readerFactory, loggerFactory, options.Value)
 {
     _logger                      = loggerFactory.CreateLogger <BodyOrOtherSourcesModelBinder>();
     _modelBinderFactory          = modelBinderFactory;
     _providers                   = options.Value.ModelBinderProviders.ToArray();
     _modelMetadataProvider       = modelMetadataProvider;
     _modelBindingMessageProvider = options.Value.ModelBindingMessageProvider;
     _detailsProvider             = detailsProvider;
 }
Exemplo n.º 20
0
 public DefaultHybridModelBinder(
     IList <IInputFormatter> formatters,
     IHttpRequestStreamReaderFactory readerFactory)
 {
     base
     .AddModelBinder(Body, new BodyModelBinder(formatters, readerFactory))
     .AddValueProviderFactory(Form, new FormValueProviderFactory())
     .AddValueProviderFactory(Route, new RouteValueProviderFactory())
     .AddValueProviderFactory(QueryString, new QueryStringValueProviderFactory());
 }
 public NewtonsoftJsonBodyModelBinder(
     ILoggerFactory loggerFactory,
     ArrayPool <char> charPool,
     IHttpRequestStreamReaderFactory readerFactory,
     ObjectPoolProvider objectPoolProvider,
     IOptions <MvcOptions> mvcOptions,
     IOptions <MvcNewtonsoftJsonOptions> jsonOptions)
     : base(GetInputFormatters(loggerFactory, charPool, objectPoolProvider, mvcOptions, jsonOptions), readerFactory)
 {
 }
 public HttpRouteBodyModelBinder(
     IHttpRequestStreamReaderFactory readerFactory,
     ILoggerFactory loggerFactory, ArrayPool <char> charPool,
     ObjectPoolProvider objectPoolProvider)
 {
     _input = new NewtonsoftJsonInputFormatter(
         loggerFactory.CreateLogger(typeof(HttpRouteBodyModelBinder)),
         HttpFormatters.Route.SerializerSettings, charPool,
         objectPoolProvider, new MvcOptions(), new MvcNewtonsoftJsonOptions());
     _readerFactory = readerFactory.CreateReader;
 }
Exemplo n.º 23
0
        public static void ConfigureMvc(MvcOptions options, IHttpRequestStreamReaderFactory readerFactory)
        {
            // Set up default error messages
            var messageProvider = options.ModelBindingMessageProvider;

            messageProvider.MissingBindRequiredValueAccessor = Resources.FormatModelBinding_MissingBindRequiredMember;
            messageProvider.MissingKeyOrValueAccessor        = Resources.FormatKeyValuePair_BothKeyAndValueMustBePresent;
            messageProvider.ValueMustNotBeNullAccessor       = Resources.FormatModelBinding_NullValueNotValid;
            messageProvider.AttemptedValueIsInvalidAccessor  = Resources.FormatModelState_AttemptedValueIsInvalid;
            messageProvider.UnknownValueIsInvalidAccessor    = Resources.FormatModelState_UnknownValueIsInvalid;
            messageProvider.ValueIsInvalidAccessor           = Resources.FormatHtmlGeneration_ValueIsInvalid;
            messageProvider.ValueMustBeANumberAccessor       = Resources.FormatHtmlGeneration_ValueMustBeNumber;

            // Set up ModelBinding
            options.ModelBinders.Add(new BinderTypeBasedModelBinder());
            options.ModelBinders.Add(new ServicesModelBinder());
            options.ModelBinders.Add(new BodyModelBinder(readerFactory));
            options.ModelBinders.Add(new HeaderModelBinder());
            options.ModelBinders.Add(new SimpleTypeModelBinder());
            options.ModelBinders.Add(new CancellationTokenModelBinder());
            options.ModelBinders.Add(new ByteArrayModelBinder());
            options.ModelBinders.Add(new FormFileModelBinder());
            options.ModelBinders.Add(new FormCollectionModelBinder());
            options.ModelBinders.Add(new GenericModelBinder());
            options.ModelBinders.Add(new MutableObjectModelBinder());

            // Set up filters
            options.Filters.Add(new UnsupportedContentTypeFilter());

            // Set up default output formatters.
            options.OutputFormatters.Add(new HttpNoContentOutputFormatter());
            options.OutputFormatters.Add(new StringOutputFormatter());
            options.OutputFormatters.Add(new StreamOutputFormatter());

            // Set up ValueProviders
            options.ValueProviderFactories.Add(new FormValueProviderFactory());
            options.ValueProviderFactories.Add(new RouteValueProviderFactory());
            options.ValueProviderFactories.Add(new QueryStringValueProviderFactory());
            options.ValueProviderFactories.Add(new JQueryFormValueProviderFactory());

            // Set up metadata providers
            options.ModelMetadataDetailsProviders.Add(new DefaultBindingMetadataProvider(messageProvider));
            options.ModelMetadataDetailsProviders.Add(new DefaultValidationMetadataProvider());

            // Set up validators
            options.ModelValidatorProviders.Add(new DefaultModelValidatorProvider());

            // Add types to be excluded from Validation
            options.ModelMetadataDetailsProviders.Add(new ValidationExcludeFilter(typeof(Type)));
            options.ModelMetadataDetailsProviders.Add(new ValidationExcludeFilter(typeof(Uri)));
            options.ModelMetadataDetailsProviders.Add(new ValidationExcludeFilter(typeof(CancellationToken)));
            options.ModelMetadataDetailsProviders.Add(new ValidationExcludeFilter(typeof(IFormFile)));
            options.ModelMetadataDetailsProviders.Add(new ValidationExcludeFilter(typeof(IFormCollection)));
        }
        /// <summary>
        /// Instantiates a new <see cref="StripeVerifyNotificationIdFilter"/> instance.
        /// </summary>
        /// <param name="loggerFactory">The <see cref="ILoggerFactory"/>.</param>
        /// /// <param name="metadataProvider">The <see cref="IModelMetadataProvider"/>.</param>
        /// <param name="optionsAccessor">
        /// The <see cref="IOptions{MvcOptions}"/> accessor for <see cref="MvcOptions"/>.
        /// </param>
        /// <param name="readerFactory">The <see cref="IHttpRequestStreamReaderFactory"/>.</param>
        public StripeVerifyNotificationIdFilter(
            ILoggerFactory loggerFactory,
            IModelMetadataProvider metadataProvider,
            IOptions <MvcOptions> optionsAccessor,
            IHttpRequestStreamReaderFactory readerFactory)
        {
            var options = optionsAccessor.Value;

            _bodyModelBinder = new BodyModelBinder(options.InputFormatters, readerFactory, loggerFactory, options);
            _logger          = loggerFactory.CreateLogger <StripeVerifyNotificationIdFilter>();
            _jObjectMetadata = metadataProvider.GetMetadataForType(typeof(JObject));
        }
Exemplo n.º 25
0
 public DefaultPassthroughHybridModelBinder(
     IList <IInputFormatter> formatters,
     IHttpRequestStreamReaderFactory readerFactory)
     : base(Strategy.Passthrough)
 {
     base
     .AddModelBinder(Body, new BodyModelBinder(formatters, readerFactory))
     .AddValueProviderFactory(Form, new FormValueProviderFactory())
     .AddValueProviderFactory(Source.Route, new RouteValueProviderFactory())
     .AddValueProviderFactory(Source.QueryString, new QueryStringValueProviderFactory())
     .AddValueProviderFactory(Header, new HeaderValueProviderFactory());
 }
Exemplo n.º 26
0
        /// <summary>
        /// Instantiates a new <see cref="WebHookRequestReader"/> instance.
        /// </summary>
        /// <param name="loggerFactory">The <see cref="ILoggerFactory"/>.</param>
        /// <param name="metadataProvider">The <see cref="IModelMetadataProvider"/>.</param>
        /// <param name="optionsAccessor">
        /// The <see cref="IOptions{MvcOptions}"/> accessor for <see cref="MvcOptions"/>.
        /// </param>
        /// <param name="readerFactory">The <see cref="IHttpRequestStreamReaderFactory"/>.</param>
        public WebHookRequestReader(
            ILoggerFactory loggerFactory,
            IModelMetadataProvider metadataProvider,
            IOptions <MvcOptions> optionsAccessor,
            IHttpRequestStreamReaderFactory readerFactory)
        {
            // Do not store options.ValueProviderFactories because that is only the initial value of (for example)
            // ResourceExecutingContext.ValueProviderFactories.
            var options = optionsAccessor.Value;

            _bodyModelBinder  = new BodyModelBinder(options.InputFormatters, readerFactory, loggerFactory, options);
            _metadataProvider = metadataProvider;
        }
Exemplo n.º 27
0
        /// <summary>
        ///     Creates a new <see cref="BodyModelBinder" />.
        /// </summary>
        /// <param name="formatters">The list of <see cref="IInputFormatter" />.</param>
        /// <param name="readerFactory">
        ///     The <see cref="IHttpRequestStreamReaderFactory" />, used to create <see cref="System.IO.TextReader" />
        ///     instances for reading the request body.
        /// </param>
        /// <param name="loggerFactory">The <see cref="ILoggerFactory" />.</param>
        public BodyModelBinder(
            IList <IInputFormatter> formatters,
            IHttpRequestStreamReaderFactory readerFactory,
            ILoggerFactory loggerFactory) : base(loggerFactory.CreateLogger <BodyModelBinder>())
        {
            if (readerFactory == null)
            {
                throw new ArgumentNullException(nameof(readerFactory));
            }

            _formatters    = formatters ?? throw new ArgumentNullException(nameof(formatters));
            _readerFactory = readerFactory.CreateReader;
        }
Exemplo n.º 28
0
 public DefaultPassthroughHybridModelBinder(
     IList <IInputFormatter> formatters,
     IHttpRequestStreamReaderFactory readerFactory,
     IEnumerable <string> fallbackBindingOrder)
     : base(Strategy.Passthrough, fallbackBindingOrder)
 {
     base
     .AddModelBinder(Body, new BodyModelBinder(formatters, readerFactory))
     .AddValueProviderFactory(Form, new FormValueProviderFactory())
     .AddValueProviderFactory(Route, new RouteValueProviderFactory())
     .AddValueProviderFactory(QueryString, new QueryStringValueProviderFactory())
     .AddValueProviderFactory(Header, new HeaderValueProviderFactory());
 }
Exemplo n.º 29
0
        public DynamicModelBinder(IList <IInputFormatter> formatters, IHttpRequestStreamReaderFactory readerFactory)
        {
            if (formatters == null)
            {
                throw new ArgumentNullException(nameof(formatters));
            }
            if (readerFactory == null)
            {
                throw new ArgumentNullException(nameof(readerFactory));
            }

            _formatters    = formatters;
            _readerFactory = readerFactory.CreateReader;
        }
Exemplo n.º 30
0
        /// <summary>
        /// Creates a new <see cref="BodyModelBinder"/>.
        /// </summary>
        /// <param name="formatters">The list of <see cref="IInputFormatter"/>.</param>
        /// <param name="readerFactory">
        /// The <see cref="IHttpRequestStreamReaderFactory"/>, used to create <see cref="System.IO.TextReader"/>
        /// instances for reading the request body.
        /// </param>
        public BodyModelBinder(IList<IInputFormatter> formatters, IHttpRequestStreamReaderFactory readerFactory)
        {
            if (formatters == null)
            {
                throw new ArgumentNullException(nameof(formatters));
            }

            if (readerFactory == null)
            {
                throw new ArgumentNullException(nameof(readerFactory));
            }

            _formatters = formatters;
            _readerFactory = readerFactory.CreateReader;
        }
        /// <summary>
        /// Instantiates a new <see cref="SalesforceVerifyOrganizationIdFilter"/> instance.
        /// </summary>
        /// <param name="loggerFactory">
        /// The <see cref="ILoggerFactory"/> used to initialize <see cref="WebHookSecurityFilter.Logger"/>.
        /// </param>
        /// /// <param name="metadataProvider">The <see cref="IModelMetadataProvider"/>.</param>
        /// <param name="optionsAccessor">
        /// The <see cref="IOptions{MvcOptions}"/> accessor for <see cref="MvcOptions"/>.
        /// </param>
        /// <param name="readerFactory">The <see cref="IHttpRequestStreamReaderFactory"/>.</param>
        /// <param name="receiverConfig">
        /// The <see cref="IWebHookReceiverConfig"/> used to initialize
        /// <see cref="WebHookSecurityFilter.Configuration"/> and <see cref="WebHookSecurityFilter.ReceiverConfig"/>.
        /// </param>
        /// <param name="resultCreator">The <see cref="ISalesforceResultCreator"/>.</param>
        public SalesforceVerifyOrganizationIdFilter(
            ILoggerFactory loggerFactory,
            IModelMetadataProvider metadataProvider,
            IOptions <MvcOptions> optionsAccessor,
            IHttpRequestStreamReaderFactory readerFactory,
            IWebHookReceiverConfig receiverConfig,
            ISalesforceResultCreator resultCreator)
            : base(loggerFactory, receiverConfig)
        {
            var options = optionsAccessor.Value;

            _bodyModelBinder  = new BodyModelBinder(options.InputFormatters, readerFactory, loggerFactory, options);
            _resultCreator    = resultCreator;
            _xElementMetadata = metadataProvider.GetMetadataForType(typeof(XElement));
        }
Exemplo n.º 32
0
        /// <summary>
        /// Instantiates a new <see cref="SalesforceVerifyOrganizationIdFilter"/> instance.
        /// </summary>
        /// <param name="configuration">
        /// The <see cref="IConfiguration"/> used to initialize <see cref="WebHookSecurityFilter.Configuration"/>.
        /// </param>
        /// <param name="hostingEnvironment">
        /// The <see cref="IHostingEnvironment" /> used to initialize
        /// <see cref="WebHookSecurityFilter.HostingEnvironment"/>.
        /// </param>
        /// <param name="loggerFactory">
        /// The <see cref="ILoggerFactory"/> used to initialize <see cref="WebHookSecurityFilter.Logger"/>.
        /// </param>
        /// /// <param name="metadataProvider">The <see cref="IModelMetadataProvider"/>.</param>
        /// <param name="optionsAccessor">
        /// The <see cref="IOptions{MvcOptions}"/> accessor for <see cref="MvcOptions"/>.
        /// </param>
        /// <param name="readerFactory">The <see cref="IHttpRequestStreamReaderFactory"/>.</param>
        /// <param name="resultCreator">The <see cref="ISalesforceResultCreator"/>.</param>
        public SalesforceVerifyOrganizationIdFilter(
            IConfiguration configuration,
            IHostingEnvironment hostingEnvironment,
            ILoggerFactory loggerFactory,
            IModelMetadataProvider metadataProvider,
            IOptions <MvcOptions> optionsAccessor,
            IHttpRequestStreamReaderFactory readerFactory,
            ISalesforceResultCreator resultCreator)
            : base(configuration, hostingEnvironment, loggerFactory)
        {
            var options = optionsAccessor.Value;

            _bodyModelBinder  = new BodyModelBinder(options.InputFormatters, readerFactory, loggerFactory, options);
            _resultCreator    = resultCreator;
            _xElementMetadata = metadataProvider.GetMetadataForType(typeof(XElement));
        }
Exemplo n.º 33
0
 /// <summary>
 /// Creates a new <see cref="BodyModelBinder"/>.
 /// </summary>
 /// <param name="readerFactory">
 /// The <see cref="IHttpRequestStreamReaderFactory"/>, used to create <see cref="System.IO.TextReader"/>
 /// instances for reading the request body.
 /// </param>
 public BodyModelBinder(IHttpRequestStreamReaderFactory readerFactory)
 {
     _readerFactory = readerFactory.CreateReader;
 }