Ejemplo n.º 1
0
        public void Configure(
            IApplicationBuilder app,
            IWebHostEnvironment env,
            IUnitOfWork unitOfWork,
            AppDbContext dbContext,
            StatusReporter statusReporter)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
                app.UseCors("localhost");
            }

            app.UseMiddleware <TraceLoggingMiddleware>();
            app.UseSerilogRequestLogging();
            dbContext.Database.Migrate();

            CreateAdminUser(unitOfWork);

            app.UseSwagger(options => { options.RouteTemplate = "docs/{documentName}/docs.json"; });
            app.UseSwaggerUI(options =>
            {
                options.RoutePrefix = "docs";
                options.SwaggerEndpoint("/docs/v1/docs.json", "GTO API v1");
            });

            app.UseRouting();
            app.UseHttpMetrics();
            app.UseAuthentication();
            app.UseAuthorization();

            app.UseMiddleware <UnitOfWorkMiddleware>();

            app.UseEndpoints(endpoints =>
            {
                endpoints.MapControllers();
                endpoints.MapMetrics();
            });

            statusReporter.SetReady();
        }