private static void UseWebApi(IAppBuilder application, IKernel kernel) { var config = new HttpConfiguration(); config.MapHttpAttributeRoutes(); var cors = new EnableCorsAttribute("*", "*", "*"); //GlobalConfiguration.Configure(configuration => //{ // configuration.SuppressDefaultHostAuthentication(); // configuration.MapHttpAttributeRoutes(); // configuration.EnableCors(cors); // configuration.Filters.Add(new HostAuthenticationAttribute(OAuthDefaults.AuthenticationType)); // var jsonformatter = configuration.Formatters.JsonFormatter; // jsonformatter.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver(); // configuration.AddJsonpFormatter(); // application.UseNinjectMiddleware(() => kernel); // application.UseNinjectWebApi(configuration); // application.UseWebApi(configuration); //}); config.SuppressDefaultHostAuthentication(); ConfigureOAuth(application); config.EnableCors(cors); config.Filters.Add(new HostAuthenticationAttribute(OAuthDefaults.AuthenticationType)); var jsonformatter = config.Formatters.JsonFormatter; jsonformatter.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver(); config.AddJsonpFormatter(); application.UseNinjectMiddleware(() => kernel); application.UseNinjectWebApi(config); application.UseWebApi(config); application.UseCors(Microsoft.Owin.Cors.CorsOptions.AllowAll); }
public void GetCorsPolicyAsync_RetunsExpectedExposeHeaders() { EnableCorsAttribute enableCors = new EnableCorsAttribute(origins: "*", headers: "*", methods: "*", exposedHeaders: "foo, bar"); CorsPolicy corsPolicy = enableCors.GetCorsPolicyAsync(new HttpRequestMessage()).Result; Assert.Equal(new List<string> { "foo", "bar" }, corsPolicy.ExposedHeaders); }
public void SettingNullExposedHeaders_Throws() { EnableCorsAttribute enableCors = new EnableCorsAttribute(); Assert.ThrowsArgumentNull(() => { enableCors.ExposedHeaders = null; }, "value"); }
public void SettingNullOrigins_Throws() { EnableCorsAttribute enableCors = new EnableCorsAttribute(); Assert.ThrowsArgumentNull(() => { enableCors.Origins = null; }, "value"); }
public void GetCorsPolicyAsync_RetunsExpectedSupportsCredentials() { EnableCorsAttribute enableCors = new EnableCorsAttribute(origins: "*", headers: "*", methods: "*") { SupportsCredentials = true }; CorsPolicy corsPolicy = enableCors.GetCorsPolicyAsync(new HttpRequestMessage()).Result; Assert.True(corsPolicy.SupportsCredentials); }
public void GetCorsPolicyAsync_RetunsExpectedPreflightMaxAge() { EnableCorsAttribute enableCors = new EnableCorsAttribute(origins: "*", headers: "*", methods: "*") { PreflightMaxAge = 20 }; CorsPolicy corsPolicy = enableCors.GetCorsPolicyAsync(new HttpRequestMessage()).Result; Assert.Equal(20, corsPolicy.PreflightMaxAge); }
public void Default_Constructor() { EnableCorsAttribute enableCors = new EnableCorsAttribute(origins: "*", headers: "*", methods: "*"); Assert.False(enableCors.SupportsCredentials); Assert.Empty(enableCors.ExposedHeaders); Assert.Empty(enableCors.Headers); Assert.Empty(enableCors.Methods); Assert.Empty(enableCors.Origins); Assert.Equal(-1, enableCors.PreflightMaxAge); }
public void EnableCors_AddsCorsPolicyProvider() { HttpConfiguration config = new HttpConfiguration(); config.MessageHandlers.Clear(); EnableCorsAttribute policyProvider = new EnableCorsAttribute(); config.EnableCors(policyProvider); config.Initializer(config); ICorsPolicyProviderFactory providerFactory = config.GetCorsPolicyProviderFactory(); AttributeBasedPolicyProviderFactory attributeProviderFactory = Assert.IsType<AttributeBasedPolicyProviderFactory>(providerFactory); Assert.Same(policyProvider, attributeProviderFactory.DefaultPolicyProvider); }
public void GetCorsPolicyAsync_DefaultPolicyValues() { EnableCorsAttribute enableCors = new EnableCorsAttribute(origins: "*", headers: "*", methods: "*"); CorsPolicy corsPolicy = enableCors.GetCorsPolicyAsync(new HttpRequestMessage()).Result; Assert.True(corsPolicy.AllowAnyHeader); Assert.True(corsPolicy.AllowAnyMethod); Assert.True(corsPolicy.AllowAnyOrigin); Assert.False(corsPolicy.SupportsCredentials); Assert.Empty(corsPolicy.ExposedHeaders); Assert.Empty(corsPolicy.Headers); Assert.Empty(corsPolicy.Methods); Assert.Empty(corsPolicy.Origins); Assert.Null(corsPolicy.PreflightMaxAge); }
public static void Register(HttpConfiguration config) { // Web API configuration and services //--- Enable CORS (Cross Origin Resource Sharing) //--- Read more here: https://docs.microsoft.com/en-us/aspnet/web-api/overview/security/enabling-cross-origin-requests-in-web-api //--- Restrict who can access that WebAPI ExpenseLogCommon.Utils utils = new ExpenseLogCommon.Utils(); string corsOrigins = utils.GetAppSetting("EL_CORS_ORIGINS"); //--- gets comma separated list var cors = new EnableCorsAttribute(corsOrigins, "*", "*"); config.EnableCors(cors); // Web API routes config.MapHttpAttributeRoutes(); config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); }
public static void Register(HttpConfiguration config) { // Web API configuration and services // Web API routes config.MapHttpAttributeRoutes(); config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); //config.Formatters.Remove(config.Formatters.JsonFormatter); //config.Formatters.JsonFormatter.SerializerSettings.Formatting = Newtonsoft.Json.Formatting.Indented; //config.Formatters.JsonFormatter.SerializerSettings.ContractResolver = new Newtonsoft.Json.Serialization.CamelCasePropertyNamesContractResolver(); //var jsonpformatter = new JsonpMediaTypeFormatter(config.Formatters.JsonFormatter); //config.Formatters.Insert(0, jsonpformatter); EnableCorsAttribute cors = new EnableCorsAttribute("*", "*", "*"); config.EnableCors(cors); }
public static void Register(HttpConfiguration config) { config.MapHttpAttributeRoutes(); config.Routes.MapHttpRoute( "DefaultApi", "api/{controller}/{id}", new { id = RouteParameter.Optional } ); config.Formatters.XmlFormatter.SupportedMediaTypes.Clear(); config.Formatters.JsonFormatter.SerializerSettings.Formatting = Formatting.Indented; config.Formatters.JsonFormatter.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver(); var cors = new EnableCorsAttribute("*", "*", "*"); config.EnableCors(cors); }
public static void Register(HttpConfiguration config) { // Web API configuration and services // Web API routes config.MapHttpAttributeRoutes(); config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); // Enabling CORS EnableCorsAttribute cors = new EnableCorsAttribute("http://localhost:4200", "*", "*"); config.EnableCors(cors); // JSON camelCase config.Formatters.JsonFormatter.SerializerSettings.Formatting = Newtonsoft.Json.Formatting.Indented; config.Formatters.JsonFormatter.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver(); }
private void RefreshWebApi() { try { config = new HttpSelfHostConfiguration("http://127.0.0.1:9090");// "填写自己的ip地址" //var allowedMethods = ConfigurationManager.AppSettings["cors:allowedMethods"]; //var allowedOrigin = ConfigurationManager.AppSettings["cors:allowedOrigin"]; //var allowedHeaders = ConfigurationManager.AppSettings["cors:allowedHeaders"]; //MessageBox.Show(allowedOrigin+"\n"+allowedHeaders+"\n"+allowedMethods); var geduCors = new EnableCorsAttribute("*", "*", "*"); // 先跨域在路由 config.EnableCors(geduCors); GlobalConfiguration.Configuration.EnableCors(new EnableCorsAttribute("*", "*", "*")); // config.EnableCors(new EnableCorsAttribute("*", "*", "*")); //config.Routes.MapHttpRoute("API Default", "{Controller}/{id}", new { id = RouteParameter.Optional }); config.MapHttpAttributeRoutes(); // 注册自定义路由 config.Routes.MapHttpRoute( name: "MyAPI", routeTemplate: "{Controller}/{action}/{id}", // Controller不可少,id为可选参数,加action是为了避免Multiple matches defaults: new { id = RouteParameter.Optional } ); server = new HttpSelfHostServer(config); server.OpenAsync().Wait(); } catch (System.Exception e) { MessageBox.Show("程序重复运行或9090端口被占用", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); // 错误日志保存: 文件路径\NFC_ID\bin\x64\Debug\LogFile\ErrorLog.txt ErrorLog.ErrorLogTxt(e); throw e; } }
public static void Register(HttpConfiguration config) { // Web API configuration and services config.Formatters.JsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("text/html")); GlobalConfiguration.Configuration.Formatters.JsonFormatter.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore; EnableCorsAttribute cors = new EnableCorsAttribute("*", "*", "*"); config.EnableCors(cors); // Web API routes config.MapHttpAttributeRoutes(); config.Routes.MapHttpRoute( name: "CauHoiApi", routeTemplate: "api/CauHoi/{idTemplate}", defaults: new { controller = "ApiCauHoi", action = "GetCauHois" } ); config.Routes.MapHttpRoute( name: "TemplateApi", routeTemplate: "api/Templates/{idChuDe}", defaults: new { controller = "ApiTemplate", action = "GetTemplates" } ); config.Routes.MapHttpRoute( name: "TinhDiemApi", routeTemplate: "api/TinhDiem/{idCauTraLoi}/{idTemplate}", defaults: new { controller = "ApiTinhDiem", action = "GetTongSoDiem" } ); config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); }
public static void Register(HttpConfiguration config) { // Web API configuration and services // // Enable CORS // var cors = new EnableCorsAttribute("*", "*", "*"); config.EnableCors(cors); // Web API routes config.MapHttpAttributeRoutes(); config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); // // Setup JSON formatter // var jsonFormatter = config.Formatters.JsonFormatter; jsonFormatter.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver(); // // Register Dependencies via Autofac // var builder = new ContainerBuilder(); builder.RegisterApiControllers(Assembly.GetExecutingAssembly()); builder.RegisterModule(new StandardModule()); var container = builder.Build(); config.DependencyResolver = new AutofacWebApiDependencyResolver(container); }
public static void Register(HttpConfiguration config) { // Web API configuration and services //// Web API routes //config.MapHttpAttributeRoutes(); //config.Routes.MapHttpRoute( // name: "DefaultApi", // routeTemplate: "api/{controller}/{action}/{id}", // defaults: new { id = RouteParameter.Optional } //); // var cors = new EnableCorsAttribute("127.0.0.1", "*", "*"); config.EnableCors(); GlobalConfiguration.Configuration.Formatters.JsonFormatter.SerializerSettings .ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore; GlobalConfiguration.Configuration.Formatters.Remove(GlobalConfiguration.Configuration.Formatters.XmlFormatter); ODataConventionModelBuilder builder = new ODataConventionModelBuilder(); builder.EntitySet <User>("User"); builder.EntitySet <Appointment>("Appointment"); builder.EntitySet <Specialist>("Specialist"); builder.EntitySet <Disponibility>("Disponibility"); config.MapODataServiceRoute("app", "api", builder.GetEdmModel()); config.Filter().Count().OrderBy().Select().Expand().MaxTop(10000); config.Formatters.JsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("text/html")); config.Formatters.JsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("application/json")); var jsonFormatter = config.Formatters.OfType <JsonMediaTypeFormatter>().First(); jsonFormatter.UseDataContractJsonSerializer = true; }
public static void Register(HttpConfiguration config) { // Web API 設定和服務 //cors domain var cors = new EnableCorsAttribute("*", "*", "*"); config.EnableCors(cors); // Web API 路由 config.MapHttpAttributeRoutes(); config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); //Swagger //config // .EnableSwagger(c => c.SingleApiVersion("v1", "A title for your API")) // .EnableSwaggerUi(); //Use JS 變數規範 var jsonformatter = config.Formatters.OfType <JsonMediaTypeFormatter>().First(); jsonformatter.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver(); //將 Emun 轉換成 String JsonConvert.DefaultSettings = (() => { var settings = new JsonSerializerSettings(); settings.Converters.Add(new StringEnumConverter { CamelCaseText = true }); return(settings); }); }
public static HttpSelfHostConfiguration InitSelfHostConfig(string baseAddress) { // 配置 http 服务的路由 HttpSelfHostConfiguration config = new HttpSelfHostConfiguration(baseAddress); config.Routes.MapHttpRoute( "API Default", "api/{controller}/{id}", new { id = RouteParameter.Optional } ); // 设置跨域 var cors = new EnableCorsAttribute("*", "*", "*"); config.EnableCors(cors); config.Formatters .XmlFormatter.SupportedMediaTypes.Clear(); // 默认返回 json config.Formatters .JsonFormatter.MediaTypeMappings.Add( new QueryStringMapping("datatype", "json", "application/json")); // 返回格式选择 config.Formatters .XmlFormatter.MediaTypeMappings.Add( new QueryStringMapping("datatype", "xml", "application/xml")); // json 序列化设置 config.Formatters .JsonFormatter.SerializerSettings = new Newtonsoft.Json.JsonSerializerSettings() { //NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore, DateFormatString = "yyyy-MM-dd HH:mm:ss" // 设置时间日期格式化 }; return(config); }
public static void Register(HttpConfiguration config) { var cors = new EnableCorsAttribute("*", "*", "*"); config.EnableCors(cors); // Web API configuration and services // Web API routes config.MapHttpAttributeRoutes(); config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); config.Formatters.JsonFormatter.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore; ODataConventionModelBuilder builder = new ODataConventionModelBuilder(); builder.EntitySet <Jedinica_mere>("Jedinica_mere"); builder.EntitySet <Stopa_PDV_a>("Stopa_PDV_a"); builder.EntitySet <Analitika_magacinske_kartice>("Analitika_magacinske_kartice"); builder.EntitySet <Poslovni_partner>("Poslovni_partner"); builder.EntitySet <Mesto>("Mesto"); builder.EntitySet <Grupa_roba>("Grupa_roba"); builder.EntitySet <PDV>("PDV"); builder.EntitySet <Poslovna_godina>("Poslovna_godina"); builder.EntitySet <Roba>("Roba"); builder.EntitySet <Prijemni_dokument>("Prijemni_dokument"); builder.EntitySet <Faktura>("Faktura"); builder.EntitySet <Preduzece>("Preduzece"); builder.EntitySet <Robna_kartica>("Robna_kartica"); builder.EntitySet <Magacin>("Magacin"); builder.EntitySet <Stavka_dokumenta>("Stavka_dokumenta"); config.Routes.MapODataServiceRoute("odata", "odata", builder.GetEdmModel()); }
public void Configuration(IAppBuilder app) { XmlConfigurator.Configure(); app.Use <ResponseTimeMiddleware>(); app.Use <RequestLoggingMiddleware>(); IContainer container = GetContainer(); app.UseAutofacMiddleware(container); app.UseCors(CorsOptions.AllowAll); ConfigureOAuthResourceServer(app); var webApiConfig = new HttpConfiguration(); var corsAttr = new EnableCorsAttribute(Application.CorsConfig.Origins, Application.CorsConfig.Headers, Application.CorsConfig.Methods); webApiConfig.EnableCors(corsAttr); webApiConfig.Filters.Add(new GlobalExceptionFilter()); webApiConfig.MapHttpAttributeRoutes(); webApiConfig.DependencyResolver = new AutofacWebApiDependencyResolver(container); webApiConfig.EnableSwagger( c => { c.SingleApiVersion("v1", "Rewardle.Boilerplate API"); c.IncludeXmlComments(GetXmlCommentsPathForControllers()); }).EnableSwaggerUi(); app.UseWebApi(webApiConfig); app.UseAutofacWebApi(webApiConfig); }
public static void Register(HttpConfiguration config) { // Web API configuration and services // Web API routes config.MapHttpAttributeRoutes(); //config.Routes.MapHttpRoute( // name: "Api", // routeTemplate: "api/{controller}/{action}/{id}", // defaults: new { id = RouteParameter.Optional } // ); config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); // global // var corsAttr = new EnableCorsAttribute("http://10.100.1.151:8091", "*", "*"); //local config.EnableCors(); var corsAttr = new EnableCorsAttribute("*", "*", "GET, POST, PUT, DELETE, OPTIONS, PATCH, TRACE, CONNECT, HEAD"); config.EnableCors(corsAttr); HttpConfiguration configEntity = GlobalConfiguration.Configuration; configEntity.Formatters.JsonFormatter .SerializerSettings .ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore; Global.LogMessage = Requestlog.PostToClient; config.Formatters.JsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("text/html")); //Routes.MapHub<ChatHub>("chat"); }
public static void Register(HttpConfiguration config) { // Web API configuration and services // Web API routes config.MapHttpAttributeRoutes(); config.Routes.MapHttpRoute( "DefaultApi", "api/{controller}/{id}", new { id = RouteParameter.Optional } ); // Web API configuration and services var cors = new EnableCorsAttribute("*", "*", "*"); config.EnableCors(cors); var containerBuilder = new ContainerBuilder(); // Once a listener has been fully constructed and is // ready to be used, automatically start listening. //containerBuilder.RegisterType<NotImplementedMultipartFormDataModelBinderService>() // .As<IMultiPartFormDataModelBinderService>(); var container = containerBuilder.Build(); GlobalConfiguration.Configuration.DependencyResolver = new AutofacWebApiDependencyResolver(container); // Using camel-cased naming convention. var jsonFormatter = config.Formatters.OfType <JsonMediaTypeFormatter>().First(); jsonFormatter.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver(); // Register multipart/form-data formatter. config.Formatters.Add(new MultipartFormDataFormatter()); }
public static void Register(HttpConfiguration config) { config.MapHttpAttributeRoutes(); var corsAttr = new EnableCorsAttribute("*", "*", "*") { SupportsCredentials = true }; config.EnableCors(corsAttr); RouteTable.Routes.Ignore(""); //Allow index.html to load var jsonFormatter = config.Formatters.JsonFormatter; var settings = new JsonSerializerSettings { ContractResolver = new CamelCasePropertyNamesContractResolver() }; var timeFormat = new IsoDateTimeConverter { DateTimeFormat = "yyyy-MM-dd HH:mm:ss" }; settings.Converters.Add(timeFormat); jsonFormatter.SerializerSettings = settings; jsonFormatter.Indent = true; var formatters = config.Formatters.Where(formatter => formatter.SupportedMediaTypes.Any(media => media.MediaType == "application/xml")) .ToList(); foreach (var match in formatters) { config.Formatters.Remove(match); } config.EnsureInitialized(); }
protected void Application_Start(object sender, EventArgs e) { GlobalConfiguration.Configuration.Formatters.XmlFormatter.UseXmlSerializer = true; // http://stackoverflow.com/questions/9847564/how-do-i-get-asp-net-web-api-to-return-json-instead-of-xml-using-chrome GlobalConfiguration.Configuration.Formatters.JsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("text/html")); // Force controllers assembly to be loaded var assembly = typeof(bma.client.Controllers.AnalyzeController).Assembly; GlobalConfiguration.Configuration.Routes.MapHttpRoute( name: "LongRunningActionsSpecificApi", routeTemplate: "api/lra/{appId}/{action}", defaults: new { controller = "longrunningactionsspecific" }, constraints: new { appId = @"[0-9A-Fa-f]{8}[-]?([0-9A-Fa-f]{4}[-]?){3}[0-9A-Fa-f]{12}" } ); GlobalConfiguration.Configuration.Routes.MapHttpRoute( name: "LongRunningActionsApi", routeTemplate: "api/lra/{appId}", defaults: new { controller = "longrunningactions" }, constraints: new { appId = @"[0-9A-Fa-f]{8}[-]?([0-9A-Fa-f]{4}[-]?){3}[0-9A-Fa-f]{12}" } ); GlobalConfiguration.Configuration.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}" ); var container = new UnityContainer(); container.LoadConfiguration(); container.RegisterInstance <System.Web.Http.Hosting.IHostBufferPolicySelector>(new System.Web.Http.WebHost.WebHostBufferPolicySelector()); GlobalConfiguration.Configuration.DependencyResolver = new UnityResolver(container); var cors = new EnableCorsAttribute("*", "*", "*"); GlobalConfiguration.Configuration.EnableCors(cors); }
public static void Register(HttpConfiguration config) { // Web API configuration and services // Web API routes config.MapHttpAttributeRoutes(); config.Routes.MapHttpRoute( name: "ActionApi", routeTemplate: "api/{controller}/{action}/{id}", defaults: new { id = RouteParameter.Optional } ); config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); EnableCorsAttribute cors = new EnableCorsAttribute("*", "*", "*"); config.EnableCors(cors); }
public static void Register(HttpConfiguration config) { // Web API configuration and services var cors = new EnableCorsAttribute("*", "*", "*"); config.EnableCors(cors); // Web API routes if (config == null) { return; } //config.EnableCors(); config.MapHttpAttributeRoutes(); config.Routes.MapHttpRoute("DefaultApi", "api/{controller}/{action}/{id}", new { id = RouteParameter.Optional }); // Remove the XML formatter config.Formatters.Remove(config.Formatters.XmlFormatter); }
public static void Register(HttpConfiguration config) { // Web API configuration and services //remove xml formatter config.Formatters.Remove(config.Formatters.XmlFormatter); //pervent json circular exception config.Formatters.JsonFormatter.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore; // Configure Web API to use only bearer token authentication. config.SuppressDefaultHostAuthentication(); config.Filters.Add(new HostAuthenticationFilter(OAuthDefaults.AuthenticationType)); EnableCorsAttribute cors = new EnableCorsAttribute("*", "*", "GET, POST, PUT, DELETE, OPTIONS"); config.EnableCors(cors); // Web API routes config.MapHttpAttributeRoutes(); config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); }
public static void Register(HttpConfiguration config) { // Web API configuration and services config.Formatters.JsonFormatter.SerializerSettings.ContractResolver = new CamelCaseExceptDictionaryContractResolver(); config.Formatters.JsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("text/html")); // Web API routes config.MapHttpAttributeRoutes(); config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{action}/{id}", defaults: new { id = RouteParameter.Optional } ); var cors = new EnableCorsAttribute( origins: "*", headers: "*", methods: "*"); config.EnableCors(cors); }
public static void Register(HttpConfiguration config) { // Web API configuration and services var policy = new EnableCorsAttribute("*", "*", "*"); config.EnableCors(policy); // Web API routes config.MapHttpAttributeRoutes(); config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); var appXmlType = config.Formatters.XmlFormatter.SupportedMediaTypes.FirstOrDefault(t => t.MediaType == "application/xml"); config.Formatters.XmlFormatter.SupportedMediaTypes.Remove(appXmlType); var jsonFormatter = config.Formatters.OfType <JsonMediaTypeFormatter>().First(); jsonFormatter.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver(); }
public static void Register(HttpConfiguration config) { // Web API configuration and services GlobalConfiguration.Configuration.Formatters.Add (new FormMultipartEncodedMediaTypeFormatter(new MultipartFormatterSettings())); var cors = new EnableCorsAttribute("*", "*", "*"); config.EnableCors(cors); config.Formatters.XmlFormatter.SupportedMediaTypes.Add(new System.Net.Http.Headers.MediaTypeHeaderValue("multipart/form-data")); // Web API routes config.MapHttpAttributeRoutes(); config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); }
public static void Register(HttpConfiguration config) { // Web API configuration and services // Configure Web API to use only bearer token authentication. config.SuppressDefaultHostAuthentication(); config.Filters.Add(new HostAuthenticationFilter(OAuthDefaults.AuthenticationType)); //CROS var cors = new EnableCorsAttribute("*", "*", "*"); config.EnableCors(cors); config.MessageHandlers.Add(new PreflightRequestsHandler()); // Web API routes config.MapHttpAttributeRoutes(); config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); config.Formatters.JsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("text/html")); }
public static void Register(HttpConfiguration config) { config.Filters.Add(new BasicAuthenticationAttribute()); config.MapHttpAttributeRoutes(); EnableCorsAttribute cors = new EnableCorsAttribute("*", "*", "GET,POST"); config.EnableCors(cors); config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); var formatters = GlobalConfiguration.Configuration.Formatters; formatters.Remove(formatters.XmlFormatter); config.Formatters.Clear(); config.Formatters.Add(new JsonMediaTypeFormatter()); }
public static void Register(HttpConfiguration config) { // Web API configuration and services var corsSettings = new EnableCorsAttribute("*", "*", "*"); config.EnableCors(corsSettings); var jsonSettings = GlobalConfiguration.Configuration.Formatters.JsonFormatter.SerializerSettings; jsonSettings.ContractResolver = new CamelCasePropertyNamesContractResolver(); jsonSettings.Formatting = Formatting.Indented; // Web API routes config.MapHttpAttributeRoutes(); config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); }
public static void Register(HttpConfiguration config) { // Web API configuration and services // Web API routes config.MapHttpAttributeRoutes(); config.Routes.MapHttpRoute("HomeApi", "_api/{controller}/{fileName}", defaults: new { fileName = RouteParameter.Optional }); //constraints: new {fileName = new CustomExpressionConstraint(@"/\.(gif|jpg|jpeg|tiff|png)$/i")}); //constraints: new { fileName = new CustomExpressionConstraint(@"[A-Za-z]{2}") }); //config.Routes.MapHttpRoute("DefaultApi1", //Route name // "_api/{controller}/{fileName}", //Urls // defaults: new { fileName = RouteParameter.Optional}); //Defaults option //new { fileName = @"\w+" }); //Constraints //CORS config var corsAttributes = new EnableCorsAttribute("*", "*", "*"); config.EnableCors(corsAttributes); }
public static void Register(HttpConfiguration config) { // Web API configuration and services // Configure Web API to use only bearer token authentication. config.SuppressDefaultHostAuthentication(); config.Filters.Add(new HostAuthenticationFilter(OAuthDefaults.AuthenticationType)); //var cors = new EnableCorsAttribute("http://localhost:6285", "*", "*"); var cors = new EnableCorsAttribute("*", "*", "*"); config.EnableCors(cors); // Web API routes config.MapHttpAttributeRoutes(); config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); var jsonFormatter = config.Formatters.OfType <JsonMediaTypeFormatter>().FirstOrDefault(); jsonFormatter.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver(); }
public static void Register(HttpConfiguration config) { // Web API configuration and services // Configure Web API to use only bearer token authentication. config.SuppressDefaultHostAuthentication(); config.Filters.Add(new HostAuthenticationFilter(OAuthDefaults.AuthenticationType)); // Web API routes config.MapHttpAttributeRoutes(); config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); EnableCorsAttribute cors = new EnableCorsAttribute("*", "*", "*"); config.EnableCors(cors); config.Formatters.Remove(config.Formatters.XmlFormatter); config.Formatters.JsonFormatter.SerializerSettings.Formatting = Newtonsoft.Json.Formatting.Indented; }
public static void Register(HttpConfiguration config) { // Web API configuration and services var cors = new EnableCorsAttribute("*", "*", "GET"); config.EnableCors(cors); // Web API routes config.MapHttpAttributeRoutes(); config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); GlobalConfiguration.Configuration.Formatters.JsonFormatter.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore; var json = config.Formatters.JsonFormatter; json.SerializerSettings.PreserveReferencesHandling = Newtonsoft.Json.PreserveReferencesHandling.Objects; config.Formatters.Remove(config.Formatters.XmlFormatter); }
public static void Register(HttpConfiguration config) { var cors = new EnableCorsAttribute("*", " *", "*"); config.EnableCors(cors); // Web API configuration and services // Configure Web API to use only bearer token authentication. //config.SuppressDefaultHostAuthentication(); //config.Filters.Add(new HostAuthenticationFilter(OAuthDefaults.AuthenticationType)); // Web API routes config.MapHttpAttributeRoutes(); config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); //EnableCorsAttribute cors = new EnableCorsAttribute("*", "*", "*"); //config.EnableCors(cors); }
public void AllowAnyHeader_IsFalse_WhenHeadersPropertyIsSet() { EnableCorsAttribute enableCors = new EnableCorsAttribute(origins: "*", headers: "foo", methods: "*"); CorsPolicy corsPolicy = enableCors.GetCorsPolicyAsync(new HttpRequestMessage(), CancellationToken.None).Result; Assert.False(corsPolicy.AllowAnyHeader); }
public void AllowAnyHeader_IsFalse_WhenHeadersPropertyIsSet() { EnableCorsAttribute enableCors = new EnableCorsAttribute(); enableCors.Headers = new[] { "foo" }; CorsPolicy corsPolicy = enableCors.GetCorsPolicyAsync(new HttpRequestMessage()).Result; Assert.False(corsPolicy.AllowAnyHeader); }
public void AllowAnyMethod_IsFalse_WhenMethodsPropertyIsSet() { EnableCorsAttribute enableCors = new EnableCorsAttribute(); enableCors.Methods = new[] { "GET" }; CorsPolicy corsPolicy = enableCors.GetCorsPolicyAsync(new HttpRequestMessage()).Result; Assert.False(corsPolicy.AllowAnyMethod); }
public void EnableCors_AddsTracers_WhenTracingIsEnabled() { HttpConfiguration config = new HttpConfiguration(); ITraceWriter traceMock = new Mock<ITraceWriter>().Object; config.Services.Replace(typeof(ITraceWriter), traceMock); config.MessageHandlers.Clear(); EnableCorsAttribute policyProvider = new EnableCorsAttribute(); config.EnableCors(policyProvider); config.Initializer(config); ICorsPolicyProviderFactory providerFactory = config.GetCorsPolicyProviderFactory(); Assert.IsType(typeof(CorsPolicyProviderFactoryTracer), providerFactory); }
public void GetCorsPolicyAsync_RetunsExpectedHeaders() { EnableCorsAttribute enableCors = new EnableCorsAttribute(origins: "*", headers: "Accept, Content-Type", methods: "*"); CorsPolicy corsPolicy = enableCors.GetCorsPolicyAsync(new HttpRequestMessage()).Result; Assert.Equal(new List<string> { "Accept", "Content-Type" }, corsPolicy.Headers); }
public void GetCorsPolicyAsync_NullEmptyOrigin_Throws(string origin, string expectedErrorMessage) { EnableCorsAttribute enableCors = new EnableCorsAttribute(origins: "http://localhost", headers: "*", methods: "*"); enableCors.Origins.Add(origin); Assert.Throws<InvalidOperationException>(() => { enableCors.GetCorsPolicyAsync(new HttpRequestMessage(), CancellationToken.None).Wait(); }, expectedErrorMessage); }
public void GetCorsPolicyAsync_RetunsExpectedMethods() { EnableCorsAttribute enableCors = new EnableCorsAttribute { Methods = new[] { "GET", "Delete" } }; CorsPolicy corsPolicy = enableCors.GetCorsPolicyAsync(new HttpRequestMessage()).Result; Assert.Equal(new List<string> { "GET", "Delete" }, corsPolicy.Methods); }
public void GetCorsPolicyAsync_RetunsExpectedMethods() { EnableCorsAttribute enableCors = new EnableCorsAttribute(origins: "*", headers: "*", methods: "GET, Delete"); CorsPolicy corsPolicy = enableCors.GetCorsPolicyAsync(new HttpRequestMessage()).Result; Assert.Equal(new List<string> { "GET", "Delete" }, corsPolicy.Methods); }
public void GetCorsPolicyAsync_RetunsExpectedExposeHeaders() { EnableCorsAttribute enableCors = new EnableCorsAttribute { ExposedHeaders = new[] { "foo", "bar" } }; CorsPolicy corsPolicy = enableCors.GetCorsPolicyAsync(new HttpRequestMessage()).Result; Assert.Equal(new List<string> { "foo", "bar" }, corsPolicy.ExposedHeaders); }
public void GetCorsPolicyAsync_RetunsExpectedExposeHeaders(string exposedHeaders, string[] expectedResults) { EnableCorsAttribute enableCors = new EnableCorsAttribute(origins: "*", headers: "*", methods: "*", exposedHeaders: exposedHeaders); CorsPolicy corsPolicy = enableCors.GetCorsPolicyAsync(new HttpRequestMessage(), CancellationToken.None).Result; Assert.Equal(new List<string>(expectedResults), corsPolicy.ExposedHeaders); }
public void AllowAnyMethod_IsFalse_WhenMethodsPropertyIsSet() { EnableCorsAttribute enableCors = new EnableCorsAttribute(origins: "*", headers: "*", methods: "GET"); CorsPolicy corsPolicy = enableCors.GetCorsPolicyAsync(new HttpRequestMessage()).Result; Assert.False(corsPolicy.AllowAnyMethod); }
public void SettingNegativePreflightMaxAge_Throws() { EnableCorsAttribute enableCors = new EnableCorsAttribute(origins: "*", headers: "*", methods: "*"); Assert.ThrowsArgumentOutOfRange(() => { enableCors.PreflightMaxAge = -2; }, "value", "PreflightMaxAge must be greater than or equal to 0."); }
public void AllowAnyOrigin_IsFalse_WhenOriginsPropertyIsSet() { EnableCorsAttribute enableCors = new EnableCorsAttribute(origins: "http://example.com", headers: "*", methods: "*"); CorsPolicy corsPolicy = enableCors.GetCorsPolicyAsync(new HttpRequestMessage()).Result; Assert.False(corsPolicy.AllowAnyOrigin); }
public void GetCorsPolicyAsync_RetunsExpectedOrigins() { EnableCorsAttribute enableCors = new EnableCorsAttribute(origins: "http://example.com", headers: "*", methods: "*"); CorsPolicy corsPolicy = enableCors.GetCorsPolicyAsync(new HttpRequestMessage()).Result; Assert.Equal(new List<string> { "http://example.com" }, corsPolicy.Origins); }