/// <summary> /// Creates a new instance of <see cref="MvcOptions"/>. /// </summary> public MvcOptions() { CacheProfiles = new Dictionary <string, CacheProfile>(StringComparer.OrdinalIgnoreCase); Conventions = new List <IApplicationModelConvention>(); Filters = new FilterCollection(); FormatterMappings = new FormatterMappings(); InputFormatters = new FormatterCollection <IInputFormatter>(); OutputFormatters = new FormatterCollection <IOutputFormatter>(); ModelBinderProviders = new List <IModelBinderProvider>(); ModelBindingMessageProvider = new DefaultModelBindingMessageProvider(); ModelMetadataDetailsProviders = new List <IMetadataDetailsProvider>(); ModelValidatorProviders = new List <IModelValidatorProvider>(); ValueProviderFactories = new List <IValueProviderFactory>(); _allowCombiningAuthorizeFilters = new CompatibilitySwitch <bool>(nameof(AllowCombiningAuthorizeFilters)); _allowBindingHeaderValuesToNonStringModelTypes = new CompatibilitySwitch <bool>(nameof(AllowBindingHeaderValuesToNonStringModelTypes)); _allowValidatingTopLevelNodes = new CompatibilitySwitch <bool>(nameof(AllowValidatingTopLevelNodes)); _inputFormatterExceptionPolicy = new CompatibilitySwitch <InputFormatterExceptionPolicy>(nameof(InputFormatterExceptionPolicy), InputFormatterExceptionPolicy.AllExceptions); _suppressBindingUndefinedValueToEnumType = new CompatibilitySwitch <bool>(nameof(SuppressBindingUndefinedValueToEnumType)); _enableEndpointRouting = new CompatibilitySwitch <bool>(nameof(EnableEndpointRouting)); _switches = new ICompatibilitySwitch[] { _allowCombiningAuthorizeFilters, _allowBindingHeaderValuesToNonStringModelTypes, _allowValidatingTopLevelNodes, _inputFormatterExceptionPolicy, _suppressBindingUndefinedValueToEnumType, _enableEndpointRouting, }; }
/// <summary> /// Creates a new instance of <see cref="MvcOptions"/>. /// </summary> public MvcOptions() { CacheProfiles = new Dictionary <string, CacheProfile>(StringComparer.OrdinalIgnoreCase); Conventions = new List <IApplicationModelConvention>(); Filters = new FilterCollection(); FormatterMappings = new FormatterMappings(); InputFormatters = new FormatterCollection <IInputFormatter>(); OutputFormatters = new FormatterCollection <IOutputFormatter>(); ModelBinderProviders = new List <IModelBinderProvider>(); ModelBindingMessageProvider = new DefaultModelBindingMessageProvider(); ModelMetadataDetailsProviders = new List <IMetadataDetailsProvider>(); ModelValidatorProviders = new List <IModelValidatorProvider>(); ValueProviderFactories = new List <IValueProviderFactory>(); _inputFormatterExceptionPolicy = new CompatibilitySwitch <InputFormatterExceptionPolicy>(nameof(InputFormatterExceptionPolicy), InputFormatterExceptionPolicy.AllExceptions); _suppressBindingUndefinedValueToEnumType = new CompatibilitySwitch <bool>(nameof(SuppressBindingUndefinedValueToEnumType)); _allowShortCircuitingValidationWhenNoValidatorsArePresent = new CompatibilitySwitch <bool>(nameof(AllowShortCircuitingValidationWhenNoValidatorsArePresent)); _switches = new ICompatibilitySwitch[] { _inputFormatterExceptionPolicy, _suppressBindingUndefinedValueToEnumType, _allowShortCircuitingValidationWhenNoValidatorsArePresent, }; }
public void FormatterMappings_GetMediaTypeMappingForFormat_ThrowsForInvalidFormats(string format) { // Arrange var options = new FormatterMappings(); // Act & Assert Assert.Throws <ArgumentException>("format", () => options.GetMediaTypeMappingForFormat(format)); }
public void FormatterMappings_SetFormatMapping_FormatEmpty() { // Arrange var options = new FormatterMappings(); var format = ""; // Act and Assert ExceptionAssert.ThrowsArgumentNullOrEmpty( () => options.SetMediaTypeMappingForFormat( format, MediaTypeHeaderValue.Parse("application/xml")), "format"); }
public void FormatterMappings_SetFormatMapping_DiffSetGetFormat(string setFormat, string contentType, string getFormat) { // Arrange var options = new FormatterMappings(); options.SetMediaTypeMappingForFormat(setFormat, MediaTypeHeaderValue.Parse(contentType)); // Act var returnMediaType = options.GetMediaTypeMappingForFormat(getFormat); // Assert MediaTypeAssert.Equal(contentType, returnMediaType); }
/// <summary> /// Creates a new instance of <see cref="MvcOptions"/>. /// </summary> public MvcOptions() { CacheProfiles = new Dictionary <string, CacheProfile>(StringComparer.OrdinalIgnoreCase); Conventions = new List <IApplicationModelConvention>(); Filters = new FilterCollection(); FormatterMappings = new FormatterMappings(); InputFormatters = new FormatterCollection <IInputFormatter>(); OutputFormatters = new FormatterCollection <IOutputFormatter>(); ModelBinderProviders = new List <IModelBinderProvider>(); ModelBindingMessageProvider = new DefaultModelBindingMessageProvider(); ModelMetadataDetailsProviders = new List <IMetadataDetailsProvider>(); ModelValidatorProviders = new List <IModelValidatorProvider>(); ValueProviderFactories = new List <IValueProviderFactory>(); }
public MvcOptions() { CacheProfiles = new Dictionary<string, CacheProfile>(StringComparer.OrdinalIgnoreCase); Conventions = new List<IApplicationModelConvention>(); Filters = new FilterCollection(); FormatterMappings = new FormatterMappings(); InputFormatters = new FormatterCollection<IInputFormatter>(); OutputFormatters = new FormatterCollection<IOutputFormatter>(); ModelBinders = new List<IModelBinder>(); ModelBindingMessageProvider = new ModelBindingMessageProvider(); ModelMetadataDetailsProviders = new List<IMetadataDetailsProvider>(); ModelValidatorProviders = new List<IModelValidatorProvider>(); ValueProviderFactories = new List<IValueProviderFactory>(); }
public void FormatterMappings_WildcardFormat(string format) { // Arrange var options = new FormatterMappings(); var expected = $@"The media type ""{format}"" is not valid. MediaTypes containing wildcards (*) " + "are not allowed in formatter mappings."; // Act and assert ExceptionAssert.ThrowsArgument( () => options.SetMediaTypeMappingForFormat( "star", MediaTypeHeaderValue.Parse(format)), "contentType", expected); }
public void FormatterMappings_Invalid_Period() { // Arrange var options = new FormatterMappings(); var format = "."; var expected = $"The format provided is invalid '{format}'. A format must be a non-empty file-" + "extension, optionally prefixed with a '.' character."; // Act and assert ExceptionAssert.ThrowsArgument( () => options.SetMediaTypeMappingForFormat( format, MediaTypeHeaderValue.Parse("application/xml")), "format", expected); }
private static void RegisterMediaTypes(FormatterMappings formatterMappings) { formatterMappings.SetMediaTypeMappingForFormat(WebApiConstants.XmlMappingValue, MediaTypeHeaderValue.Parse(WebApiConstants.XmlMediaType)); formatterMappings.SetMediaTypeMappingForFormat(WebApiConstants.JsonMappingValue, MediaTypeHeaderValue.Parse(WebApiConstants.JsonMediaType)); formatterMappings.SetMediaTypeMappingForFormat(WebApiConstants.PdfMappingValue, MediaTypeHeaderValue.Parse(WebApiConstants.PdfMediaType)); formatterMappings.SetMediaTypeMappingForFormat(WebApiConstants.XamlMappingValue, MediaTypeHeaderValue.Parse(WebApiConstants.XamlMediaType)); formatterMappings.SetMediaTypeMappingForFormat(WebApiConstants.JsonDefinitionMappingValue, MediaTypeHeaderValue.Parse(WebApiConstants.JsonDefinitionMediaType)); formatterMappings.SetMediaTypeMappingForFormat(WebApiConstants.JsonDefinition2MappingValue, MediaTypeHeaderValue.Parse(WebApiConstants.JsonDefinition2MediaType)); formatterMappings.SetMediaTypeMappingForFormat(WebApiConstants.BinaryMappingValue, MediaTypeHeaderValue.Parse(WebApiConstants.BinaryMediaType)); }
public void FormatterMappings_ClearFormatMapping(string format, bool expected) { // Arrange var options = new FormatterMappings(); var mediaType = MediaTypeHeaderValue.Parse("application/xml"); options.SetMediaTypeMappingForFormat("xml", mediaType); mediaType = MediaTypeHeaderValue.Parse("application/json"); options.SetMediaTypeMappingForFormat("json", mediaType); mediaType = MediaTypeHeaderValue.Parse("application/foo"); options.SetMediaTypeMappingForFormat("foo", mediaType); mediaType = MediaTypeHeaderValue.Parse("application/bar"); options.SetMediaTypeMappingForFormat("bar", mediaType); // Act var cleared = options.ClearMediaTypeMappingForFormat(format); // Assert Assert.Equal(expected, cleared); Assert.Null(options.GetMediaTypeMappingForFormat(format)); }
public void ConfigureDevelopmentServices(IServiceCollection services) { services.AddSingleton <UptimeService>(); services .AddMvc() .AddMvcOptions(options => { var c = options.Conventions; FilterCollection f = options.Filters; FormatterMappings m = options.FormatterMappings; var i = options.InputFormatters; var v = options.ModelValidatorProviders; var o = options.OutputFormatters; bool r = options.RespectBrowserAcceptHeader; }) //.AddFormatterMappings() //.AddJsonOptions() //.AddRazorOptions() //.AddViewOptions() ; }