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);
        }
Example #10
0
        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 }
                );
        }
Example #11
0
        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);
        }
Example #13
0
        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();
        }
Example #14
0
        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;
            }
        }
Example #15
0
        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);
        }
Example #17
0
        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;
        }
Example #18
0
        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);
            });
        }
Example #19
0
        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);
        }
Example #20
0
        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());
        }
Example #21
0
        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);
        }
Example #22
0
        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");
        }
Example #23
0
        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());
        }
Example #24
0
        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();
        }
Example #25
0
        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);
        }
Example #27
0
        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 }
                );
        }
Example #29
0
        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);
        }
Example #30
0
        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();
        }
Example #31
0
        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 }
                );
        }
Example #32
0
        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"));
        }
Example #33
0
        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 }
                );
        }
Example #35
0
        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);
        }
Example #36
0
        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();
        }
Example #37
0
        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;
        }
Example #38
0
        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);
        }