Sorry for the delay, Here is the code
public void Configure Services(IServiceCollection service )
{
services.AddMvcCore()
.AddJsonFormatters()
.AddApiExplorer()
.AddJsonOptions(options => {
options.SerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
});;
services.Configure<ForwardedHeadersOptions>(options =>
{
options.ForwardedHeaders =
ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto;
});
services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1", new Info
{
Title = "example API",
Version = "v1",
Description = "Example",
Contact = new Contact() { Name = "Distribution Developers", Email = "" }
});
c.ExampleFilters();
});
// Add Scoped and Singleton services here
services.AddOptions();
}
public void Configure(IApplicationBuilder app,
IHostingEnvironment env)
{
var config = new ConfigurationBuilder()
.AddJsonFile("appsettings.json", false)
.Build();
app.UseForwardedHeaders();
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
var swaggerSettings = new SwaggerSettings();
config.GetSection("Swagger").Bind(swaggerSettings);
app.UseSwagger(c =>
{
c.PreSerializeFilters.Add((swagger, httpReq) => swagger.Host = httpReq.Host.Value);
c.RouteTemplate = swaggerSettings.RouteTemplate;
});
app.UseSwaggerUI(c =>
{
c.RoutePrefix = swaggerSettings.RoutePrefix;
c.SwaggerEndpoint(swaggerSettings.SwaggerEndpoint, "Characteristics API V1");
});
app.ConfigureExceptionHandler(_logger);
app.UseMvc(routes =>
{
routes.MapRoute("default", "api/{controller=Home}/{action=Index}/{id?}");
});
app.UseAllElasticApm(config);
}