Return a file instead of just a CSV text
This commit is contained in:
parent
48932ec2a5
commit
cc1717e4a3
|
|
@ -9,6 +9,7 @@ using Microsoft.Extensions.Caching.Memory;
|
|||
using Microsoft.Extensions.Hosting;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using System;
|
||||
using System.Text;
|
||||
|
||||
namespace AS1024.GeoFeed.MinimalAPI
|
||||
{
|
||||
|
|
@ -48,7 +49,7 @@ namespace AS1024.GeoFeed.MinimalAPI
|
|||
app.Run();
|
||||
}
|
||||
|
||||
protected static async Task<string> GeoFeedDataRunner(IGeoFeedProvider provider,
|
||||
protected static async Task<IResult> GeoFeedDataRunner(IGeoFeedProvider provider,
|
||||
ILogger<Program> logger,
|
||||
IGeoFeedPersistentCacheProvider cacheProvider,
|
||||
IMemoryCache memoryCache,
|
||||
|
|
@ -67,20 +68,26 @@ namespace AS1024.GeoFeed.MinimalAPI
|
|||
}
|
||||
}
|
||||
|
||||
return feed.ToGeoFeedCsv();
|
||||
return Results.File(Encoding.UTF8.GetBytes(feed.ToGeoFeedCsv()),
|
||||
"text/csv",
|
||||
"geofeed.csv");
|
||||
|
||||
}
|
||||
catch (HttpRequestException ex)
|
||||
{
|
||||
logger.LogWarning($"Temporary failure of retrieving GeoData from upstream. {ex}");
|
||||
string geoFeedData = cacheProvider.GetGeoFeed();
|
||||
return geoFeedData;
|
||||
|
||||
return Results.File(Encoding.UTF8.GetBytes(geoFeedData),
|
||||
"text/csv",
|
||||
"geofeed.csv");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
logger.LogError($"Error: {ex}");
|
||||
}
|
||||
|
||||
return "";
|
||||
return Results.NoContent();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue