public void Configuration(IAppBuilder app)
        {
            var config    = new HttpConfiguration();
            var container = UnityConfiguration.GetContainer();

            InitLogging(container);
            config.DependencyResolver = new UnityDependencyResolver(container);
            ApiConfiguration.Install(config, app);
            app.UseWebApi(config);
        }
        public static void Install(HttpConfiguration config, IAppBuilder app)
        {
            WebApiUnityActionFilterProvider.RegisterFilterProviders(config);

            app.MapSignalR();


            config.Filters.Add(new HandleErrorAttribute(UnityConfiguration.GetContainer().Resolve <ILoggerFactory>()));

            app.UseCors(CorsOptions.AllowAll);

            config.SuppressHostPrincipal();

            IIdentityService          identityService       = UnityConfiguration.GetContainer().Resolve <IIdentityService>();
            Lazy <IAuthConfiguration> lazyAuthConfiguration = UnityConfiguration.GetContainer().Resolve <Lazy <IAuthConfiguration> >();

            config
            .EnableSwagger(c => c.SingleApiVersion("v1", "DigitalArchitecture"))
            .EnableSwaggerUi();

            app.UseOAuthAuthorizationServer(new OAuthOptions(lazyAuthConfiguration, identityService));

            app.UseJwtBearerAuthentication(new JwtOptions(lazyAuthConfiguration));

            config.Filters.Add(new HostAuthenticationFilter(OAuthDefaults.AuthenticationType));


            var jSettings = new JsonSerializerSettings();

            jSettings.Formatting       = Formatting.Indented;
            jSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
            config.Formatters.Remove(config.Formatters.XmlFormatter);
            config.Formatters.JsonFormatter.SerializerSettings = jSettings;
            config.MapHttpAttributeRoutes();
            config.Routes.MapHttpRoute(name: "DefaultApi", routeTemplate: "api/{controller}");
        }
Example #3
0
        public static void RegisterFilterProviders(HttpConfiguration config)
        {
            var providers = config.Services.GetFilterProviders().ToList();

            config.Services.Add(typeof(System.Web.Http.Filters.IFilterProvider), new WebApiUnityActionFilterProvider(UnityConfiguration.GetContainer()));
            var defaultprovider = providers.First(p => p is ActionDescriptorFilterProvider);

            config.Services.Remove(typeof(System.Web.Http.Filters.IFilterProvider), defaultprovider);
        }