in dotnet/dotnet-guestbook/src/frontend/Startup.cs [44:96]
public void Configure(IApplicationBuilder app, IWebHostEnvironment env, ILogger<Startup> logger)
{
// GUESTBOOK_API_ADDR environment variable is provided in guestbook-frontend.deployment.yaml.
var backendAddr = Environment.GetEnvironmentVariable("GUESTBOOK_API_ADDR");
logger.LogInformation($"Backend address is set to {backendAddr}");
if (string.IsNullOrEmpty(backendAddr))
{
throw new ArgumentException("GUESTBOOK_API_ADDR environment variable is not set");
}
// PORT environment variable is provided in guestbook-frontend.deployment.yaml.
var port = Environment.GetEnvironmentVariable("PORT");
logger.LogInformation($"Port env var is set to {port}");
if (string.IsNullOrEmpty(port))
{
throw new ArgumentException("PORT environment variable is not set");
}
// Set the address of the backend microservice
envConfig.BackendAddress = $"http://{backendAddr}:{port}/messages";
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseExceptionHandler("/Home/Error");
}
app.UseStaticFiles();
app.UseCookiePolicy();
app.UseRouting();
app.UseEndpoints(endpoints =>
{
// endpoints.MapControllerRoute(
// name: "postRoute",
// pattern: "{controller=Home}/{action=Post}/");
endpoints.MapControllerRoute(
name: "postRoute",
pattern: "{controller}/post",
defaults: new { controller = "Home", action = "Post" });
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
});
}