public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { app.UseRouting(); app.UseEndpoints(endpoints => { endpoints.MapGet("/api/route/{from}/{destination}", async context => { try { var from = context.Request.RouteValues["from"]; var destination = context.Request.RouteValues["destination"]; var result = CalculateRoute(from.ToString(), destination.ToString()); if (result.HasErrors) { await context.BadRequest(result.Errors); return; } await context.Ok(result.ToString()); } catch (Exception e) { await context.InternalServerError(e); } }); endpoints.MapPost("/api/route", async context => { try { using var newRoute = new StreamReader(context.Request.Body); var result = RouteFile.WriteFile(CSV_FILE, await newRoute.ReadLineAsync()); if (result.HasErrors) { await context.BadRequest(result.Errors); return; } await context.Created("Route included successfully!"); } catch (Exception e) { await context.InternalServerError(e); } }); }); }