protected override void ApplicationStartup(TinyIoCContainer container, IPipelines pipelines)
        {
            InitializeSwaggerMetadata();

            base.ApplicationStartup(container, pipelines);

            pipelines.OnError.AddItemToEndOfPipeline(
                (ctx, ex) => new OnErrorHooks(_logger)
                .HandleInternalServerError(
                    ctx,
                    ex,
                    container.Resolve <IResponseNegotiator>(),
                    _env));

            pipelines.BeforeRequest += ctx => RequestHooks.RemoveContentTypeHeaderForGet(ctx);
            pipelines.BeforeRequest += ctx => RequestHooks.ErrorResponseIfContentTypeMissingForPostAndPut(ctx);
            pipelines.BeforeRequest += ctx => RequestHooks.SetDefaultVersionInUrl(ctx);

            pipelines.AfterRequest += ctx =>
            {
                foreach (var corsHeader in HttpResponseHeaders.CorsHeaders)
                {
                    ctx.Response.Headers.Add(corsHeader.Item1, corsHeader.Item2);
                }
            };

            ConfigureApplicationRegistrations(container);
            var dbBootstrapper = container.Resolve <IDbBootstrapper>();

            dbBootstrapper.Setup();
        }
        protected override void ApplicationStartup(TinyIoCContainer container, IPipelines pipelines)
        {
            base.ApplicationStartup(container, pipelines);

            InitializeSwaggerMetadata();

            pipelines.OnError.AddItemToEndOfPipeline(
                (ctx, ex) => new OnErrorHooks(_logger)
                .HandleInternalServerError(
                    ctx,
                    ex,
                    container.Resolve <IResponseNegotiator>(),
                    _appConfig.IsDevelopment));

            pipelines.BeforeRequest += ctx => RequestHooks.RemoveContentTypeHeaderForGet(ctx);
            pipelines.BeforeRequest += ctx => RequestHooks.SetDefaultVersionInUrl(ctx);

            pipelines.AfterRequest += ctx =>
            {
                foreach (var corsHeader in HttpResponseHeaders.CorsHeaders)
                {
                    ctx.Response.Headers.Add(corsHeader.Item1, corsHeader.Item2);
                }
            };

            container.Register(_appConfig);
            container.Register(_appConfig.AzureActiveDirectoryClientSettings);
            container.Register(_logger);
        }
        protected override async void ApplicationStartup(TinyIoCContainer container, IPipelines pipelines)
        {
            TinyIoCContainer = container;

            InitializeSwaggerMetadata();

            base.ApplicationStartup(container, pipelines);

            pipelines.OnError.AddItemToEndOfPipeline(
                (ctx, ex) => new OnErrorHooks(_logger)
                .HandleInternalServerError(
                    ctx,
                    ex,
                    container.Resolve <IResponseNegotiator>(),
                    _env));

            pipelines.BeforeRequest += ctx => RequestHooks.RemoveContentTypeHeaderForGet(ctx);
            pipelines.BeforeRequest += ctx => RequestHooks.ErrorResponseIfContentTypeMissingForPostAndPut(ctx);
            pipelines.BeforeRequest += ctx => RequestHooks.SetDefaultVersionInUrl(ctx);

            pipelines.AfterRequest += ctx =>
            {
                foreach (var corsHeader in HttpResponseHeaders.CorsHeaders)
                {
                    ctx.Response.Headers.Add(corsHeader.Item1, corsHeader.Item2);
                }
            };

            ConfigureApplicationRegistrations(container);
            var dbBootstrapper = container.Resolve <IDbBootstrapper>();

            dbBootstrapper.Setup();

            var appConfig            = container.Resolve <IAppConfiguration>();
            var groupMigratorService = container.Resolve <GroupMigratorService>();

            if (appConfig.MigrateDuplicateGroups)
            {
                var migrationResults = await groupMigratorService.MigrateDuplicateGroups();
            }

            if (appConfig.MigrateGroupSource)
            {
                await groupMigratorService.MigrateWindowsSourceToDirectory();
            }

            if (appConfig.MigrateGroupIdentityProvider)
            {
                await groupMigratorService.MigrateIdentityProvider();
            }
        }
示例#4
0
        protected override void ApplicationStartup(TinyIoCContainer container, IPipelines pipelines)
        {
            base.ApplicationStartup(container, pipelines);

            InitializeSwaggerMetadata();

            pipelines.OnError.AddItemToEndOfPipeline(
                (ctx, ex) => new OnErrorHooks(_logger)
                .HandleInternalServerError(
                    ctx,
                    ex,
                    container.Resolve <IResponseNegotiator>(),
                    false));     //TODO: find out how to determine if IsDevelopment is true

            pipelines.BeforeRequest += ctx => RequestHooks.RemoveContentTypeHeaderForGet(ctx);
            pipelines.BeforeRequest += ctx => RequestHooks.SetDefaultVersionInUrl(ctx);

            container.Register(_appConfig);
            container.Register(_logger);
        }