public ApiBehaviorApplicationModelProvider( IOptions <ApiBehaviorOptions> apiBehaviorOptions, IModelMetadataProvider modelMetadataProvider, IClientErrorFactory clientErrorFactory, ILoggerFactory loggerFactory) { _apiBehaviorOptions = apiBehaviorOptions.Value; _modelMetadataProvider = modelMetadataProvider; _logger = loggerFactory.CreateLogger <ApiBehaviorApplicationModelProvider>(); if (!_apiBehaviorOptions.SuppressModelStateInvalidFilter && _apiBehaviorOptions.InvalidModelStateResponseFactory == null) { throw new ArgumentException(Resources.FormatPropertyOfTypeCannotBeNull( typeof(ApiBehaviorOptions), nameof(ApiBehaviorOptions.InvalidModelStateResponseFactory))); } _modelStateInvalidFilter = new ModelStateInvalidFilter( apiBehaviorOptions.Value, loggerFactory.CreateLogger <ModelStateInvalidFilter>()); _clientErrorResultFilter = new ClientErrorResultFilter( clientErrorFactory, loggerFactory.CreateLogger <ClientErrorResultFilter>()); }
/// <summary> /// Instantiates a new <see cref="WebHookFilterProvider"/> instance with the given /// <paramref name="behaviorOptions"/> and <paramref name="loggerFactory"/>. /// </summary> /// <param name="behaviorOptions">The <see cref="ApiBehaviorOptions"/> accessor.</param> /// <param name="loggerFactory">The <see cref="ILoggerFactory"/>.</param> public WebHookFilterProvider(IOptions <ApiBehaviorOptions> behaviorOptions, ILoggerFactory loggerFactory) { _behaviorOptions = behaviorOptions.Value; _loggerFactory = loggerFactory; var logger = loggerFactory.CreateLogger <ModelStateInvalidFilter>(); _modelStateInvalidFilter = new ModelStateInvalidFilter(_behaviorOptions, logger); }
public ApiBehaviorApplicationModelProvider(IOptions <ApiBehaviorOptions> apiBehaviorOptions, ILoggerFactory loggerFactory) { _apiBehaviorOptions = apiBehaviorOptions.Value; if (_apiBehaviorOptions.EnableModelStateInvalidFilter && _apiBehaviorOptions.InvalidModelStateResponseFactory == null) { throw new ArgumentException(Resources.FormatPropertyOfTypeCannotBeNull( typeof(ApiBehaviorOptions), nameof(ApiBehaviorOptions.InvalidModelStateResponseFactory))); } _modelStateInvalidFilter = new ModelStateInvalidFilter( apiBehaviorOptions.Value, loggerFactory.CreateLogger <ModelStateInvalidFilter>()); }
public void OnActionExecuting_NoOpsIfModelStateIsValid() { // Arrange var options = new ApiBehaviorOptions { InvalidModelStateResponseFactory = _ => new BadRequestResult(), }; var filter = new ModelStateInvalidFilter(options, NullLogger.Instance); var context = GetActionExecutingContext(); // Act filter.OnActionExecuting(context); // Assert Assert.Null(context.Result); }
public void OnActionExecuting_InvokesResponseFactoryIfModelStateIsInvalid() { // Arrange var expected = new BadRequestResult(); var options = new ApiBehaviorOptions { InvalidModelStateResponseFactory = _ => expected, }; var filter = new ModelStateInvalidFilter(options, NullLogger.Instance); var context = GetActionExecutingContext(); context.ModelState.AddModelError("some-key", "some-error"); // Act filter.OnActionExecuting(context); // Assert Assert.Same(expected, context.Result); }
public void OnActionExecuting_NoOpsIfResultIsAlreadySet() { // Arrange var options = new ApiBehaviorOptions { InvalidModelStateResponseFactory = _ => new BadRequestResult(), }; var filter = new ModelStateInvalidFilter(options, NullLogger.Instance); var context = GetActionExecutingContext(); var expected = new OkResult(); context.Result = expected; // Act filter.OnActionExecuting(context); // Assert Assert.Same(expected, context.Result); }
/// <summary> /// Instantiates a new <see cref="WebHookActionModelFilterProvider"/> instance. /// </summary> /// <param name="behaviorOptions">The <see cref="ApiBehaviorOptions"/> accessor.</param> /// <param name="configuration">The <see cref="IConfiguration"/>.</param> /// <param name="hostingEnvironment">The <see cref="IHostingEnvironment" />.</param> /// <param name="loggerFactory">The <see cref="ILoggerFactory"/>.</param> /// <param name="metadataProvider"> /// The <see cref="WebHookMetadataProvider"/> service. Searched for applicable metadata per-request. /// </param> /// <param name="requestReader">The <see cref="IWebHookRequestReader"/>.</param> /// <param name="verifyMethodFilter">The <see cref="WebHookVerifyMethodFilter"/> service.</param> public WebHookActionModelFilterProvider( IOptions <ApiBehaviorOptions> behaviorOptions, IConfiguration configuration, IHostingEnvironment hostingEnvironment, ILoggerFactory loggerFactory, WebHookMetadataProvider metadataProvider, IWebHookRequestReader requestReader, WebHookVerifyMethodFilter verifyMethodFilter) { _behaviorOptions = behaviorOptions.Value; _configuration = configuration; _hostingEnvironment = hostingEnvironment; _loggerFactory = loggerFactory; _metadataProvider = metadataProvider; _requestReader = requestReader; _verifyMethodFilter = verifyMethodFilter; var logger = loggerFactory.CreateLogger <ModelStateInvalidFilter>(); _modelStateInvalidFilter = new ModelStateInvalidFilter(_behaviorOptions, logger); }
public GirvsModelStateInvalidFilter(IOptions <ApiBehaviorOptions> options, ILogger <GirvsModelStateInvalidFilter> logger) { _modelStateInvalidFilter = new ModelStateInvalidFilter(options.Value, logger); }