Exemplo n.º 1
0
        public static void Register(HttpConfiguration config)
        {
            config.SetCorsPolicyProviderFactory(new CorsPolicyFactory());
            config.EnableCors();

            var formart = config.Formatters;
            formart.Remove(formart.XmlFormatter);
            var json = config.Formatters.JsonFormatter.SerializerSettings;
            json.Formatting = Formatting.Indented;
            json.ContractResolver = new CamelCasePropertyNamesContractResolver();
            formart.JsonFormatter.SerializerSettings.PreserveReferencesHandling = PreserveReferencesHandling.Objects;
            formart.JsonFormatter.SerializerSettings.MetadataPropertyHandling = MetadataPropertyHandling.Ignore;
           
     


            // Web API routes
            config.MapHttpAttributeRoutes();

            config.Routes.MapHttpRoute(
                name: "DefaultApi",
                routeTemplate: "api/{controller}/{id}",
                defaults: new { id = RouteParameter.Optional }
            );
        }
Exemplo n.º 2
0
        public static void Register(HttpConfiguration config)
        {
            config.EnableCors();
            // Web API routes
            config.EnableSystemDiagnosticsTracing().IsVerbose = true;
            config.MapHttpAttributeRoutes();

            var defaultPolicyProvider = new EnableCorsAttribute("*", "*", "*");
            defaultPolicyProvider.SupportsCredentials = true; //important if you are sending cookies
            AttributeBasedPolicyProviderFactory policyProviderFactory = new AttributeBasedPolicyProviderFactory();
            policyProviderFactory.DefaultPolicyProvider = defaultPolicyProvider;
            config.SetCorsPolicyProviderFactory(policyProviderFactory);

            config.Routes.MapHttpRoute(
                name: "BatchApi",
                routeTemplate: "api/batch",
                defaults: null,
                constraints: null,
                handler: new DefaultHttpBatchHandler(GlobalConfiguration.DefaultServer));
            
            config.Routes.MapHttpRoute(
                name: "DefaultApi",
                routeTemplate: "api/{controller}/{id}",
                defaults: new { id = RouteParameter.Optional },
                constraints: null,
                handler: new CorsMessageHandler(config) { InnerHandler = new HttpControllerDispatcher(config) }
            );
        }
        public static void Register(HttpConfiguration config)
        {
            // Web API configuration and services

            // This handles CORS requests globally.
            config.SetCorsPolicyProviderFactory(new CorsPolicyFactory());
            config.EnableCors();

            // 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 }
            );

               config.Routes.MapHttpRoute(
                "PostBlobUpload",
                "blobs/upload",
                new { controller = "Blobs", action = "PostBlobUpload" },
                new { httpMethod = new HttpMethodConstraint("POST") }
            );

            config.Routes.MapHttpRoute(
                "GetBlobDownload",
                "blobs/{blobId}/download",
                new { controller = "Blobs", action = "GetBlobDownload" },
                new { httpMethod = new HttpMethodConstraint("GET") }
            );
        }
        /// <summary>
        /// Enables the support for CORS.
        /// </summary>
        /// <param name="httpConfiguration">The <see cref="HttpConfiguration"/>.</param>
        /// <param name="defaultPolicyProvider">The default <see cref="ICorsPolicyProvider"/>.</param>
        /// <exception cref="System.ArgumentNullException">httpConfiguration</exception>
        public static void EnableCors(this HttpConfiguration httpConfiguration, ICorsPolicyProvider defaultPolicyProvider)
        {
            if (httpConfiguration == null)
            {
                throw new ArgumentNullException("httpConfiguration");
            }

            if (defaultPolicyProvider != null)
            {
                AttributeBasedPolicyProviderFactory policyProviderFactory = new AttributeBasedPolicyProviderFactory();
                policyProviderFactory.DefaultPolicyProvider = defaultPolicyProvider;
                httpConfiguration.SetCorsPolicyProviderFactory(policyProviderFactory);
            }

            AddCorsMessageHandler(httpConfiguration);
        }
Exemplo n.º 5
0
        public static void Register(HttpConfiguration config)
        {
            // Web API configuration and services
            // Configure Web API to use only bearer token authentication.
            //var corsAttribut = new EnableCorsAttribute("*", "*", "*");
            config.SetCorsPolicyProviderFactory(new CorsPolicyFactory());
            config.EnableCors();

            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 }
            );
        }
Exemplo n.º 6
0
        public static void Register(HttpConfiguration config)
        {
            // Web API configuration and services
            var formatters = GlobalConfiguration.Configuration.Formatters;
            var jsonFormatter = formatters.JsonFormatter;
            var settings = jsonFormatter.SerializerSettings;

            jsonFormatter.SerializerSettings.PreserveReferencesHandling = Newtonsoft.Json.PreserveReferencesHandling.None;
            config.Formatters.Remove(config.Formatters.XmlFormatter);
            settings.Formatting = Newtonsoft.Json.Formatting.Indented;
            settings.ContractResolver = new CamelCasePropertyNamesContractResolver();

            config.SetCorsPolicyProviderFactory(new CorsPolicyFactory());          
            config.EnableCors();

            // Web API routes
            config.MapHttpAttributeRoutes();

            config.Routes.MapHttpRoute(
                name: "DefaultApi",
                routeTemplate: "api/{controller}/{id}",
                defaults: new { id = RouteParameter.Optional }
            );
        }
Exemplo n.º 7
0
        public static void Register(HttpConfiguration configuration, Container container)
        {
            container.RegisterSingleton(configuration);
            container.RegisterWebApiControllers(configuration);
            configuration.DependencyResolver = new SimpleInjectorWebApiDependencyResolver(container);

            configuration.MapHttpAttributeRoutes();

            configuration.SetCorsPolicyProviderFactory(new CorsPolicyProviderFactory(container));

            var serializerSettings = configuration.Formatters.JsonFormatter.SerializerSettings;
            serializerSettings.Formatting = Formatting.Indented;
            serializerSettings.NullValueHandling = NullValueHandling.Ignore;
            serializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
            serializerSettings.Converters.Add(new StringEnumConverter());

            configuration.Formatters.Remove(configuration.Formatters.XmlFormatter);

            // Note that the timing handle should be the first handler in the chain so that it can time the entire lifecycle.
            configuration.MessageHandlers.Insert(0, new DelegatingHandlerProxy<TimingHandler>(container));
            configuration.MessageHandlers.Insert(1, new DelegatingHandlerProxy<ServerCompressionHandler>(container));
            configuration.MessageHandlers.Add(new DelegatingHandlerProxy<RavenDbHandler>(container));

            // Note that the caching handler overwrites the CORS headers if it executes after it, so we have to manually place the CORS
            // handler first in the chain which is why we do not use configuration.EnableCors()
            configuration.MessageHandlers.Add(new DelegatingHandlerProxy<CorsMessageHandler>(container));
            configuration.MessageHandlers.Add(new DelegatingHandlerProxy<CachingHandler>(container));
            configuration.MessageHandlers.Add(new DelegatingHandlerProxy<PartialResponseHandler>(container));

            configuration.ParameterBindingRules.Insert(0, descriptor => new BodyAndUriParameterBinding(descriptor));

            configuration.Filters.Add(new EntityNotFoundExceptionFilter());
            configuration.Filters.Add(new EmptyModelActionFilter());
            configuration.Filters.Add(new ValidationExceptionFilter());
            configuration.Filters.Add(new GenericExceptionFilter());
        }
Exemplo n.º 8
0
        public static void Register(HttpConfiguration config)
        {
            //BEGIN ADDED BY JLC
            //PM> Install-Package Microsoft.AspNet.WebApi.Cors -pre
            //Enable cross origin requests
            //See: http://www.asp.net/web-api/overview/security/enabling-cross-origin-requests-in-web-api
            //See also: http://blogs.msdn.com/b/webdev/archive/2013/07/02/manage-cors-policy-dynamically.aspx
            //And  http://blogs.msdn.com/b/yaohuang1/archive/2013/04/05/try-out-asp.net-web-api-cors-support-using-the-nightly-builds.aspx
            //var cors = new EnableCorsAttribute("*", "*", "*"); //new MyCorsPolicyAttribute());
            //cors.SupportsCredentials = true;
            //config.EnableCors(cors);
            config.SetCorsPolicyProviderFactory(new MyCorsPolicyFactory());
            config.EnableCors();
            //END ADDED BY JLC

            // 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 }
            );
        }