Skip to content

Commit 839e6ef

Browse files
committed
add better error message to client failing uploads
1 parent 32d4842 commit 839e6ef

File tree

2 files changed

+16
-5
lines changed

2 files changed

+16
-5
lines changed

Definitions/Web/Client.cs

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,15 +58,24 @@ public static async Task UploadDatFileAsync(HttpClient client, string filename,
5858
{
5959
try
6060
{
61-
var route = $"{client.BaseAddress}{Routes.UploadDat}".Replace("//", "'/");
61+
var route = $"{client.BaseAddress?.OriginalString}{Routes.UploadDat}";
6262
logger.Debug($"Posting {filename} to {route}");
6363
var request = new DtoUploadDat(Convert.ToBase64String(datFileBytes), creationDate);
6464
var response = await client.PostAsJsonAsync(Routes.UploadDat, request);
6565

6666
if (!response.IsSuccessStatusCode)
6767
{
6868
var error = await response.Content.ReadAsStringAsync();
69-
logger.Error($"Posting {filename} failed. Error={error}");
69+
70+
if (string.IsNullOrEmpty(error))
71+
{
72+
73+
logger.Error($"Posting {filename} failed. StatusCode={response.StatusCode} ReasonPhrase={response.ReasonPhrase}");
74+
}
75+
else
76+
{
77+
logger.Error($"Posting {filename} failed. Error={error}");
78+
}
7079
return;
7180
}
7281

ObjectService/Server.cs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -184,8 +184,10 @@ public async Task<IResult> GetScenario(int uniqueScenarioId, bool? returnObjByte
184184
}
185185

186186
// eg: <todo>
187-
public async Task<IResult> UploadDat(DtoUploadDat request, LocoDb db)
187+
public async Task<IResult> UploadDat(DtoUploadDat request, LocoDb db, [FromServices] ILogger<Server> logger)
188188
{
189+
logger.LogInformation("Upload requested");
190+
189191
if (string.IsNullOrEmpty(request.DatBytesAsBase64))
190192
{
191193
return Results.BadRequest($"{nameof(request.DatBytesAsBase64)} cannot be null - it must contain the valid bytes of a loco dat object.");
@@ -211,8 +213,8 @@ public async Task<IResult> UploadDat(DtoUploadDat request, LocoDb db)
211213
return Results.BadRequest("Unable to accept file sizes > 5MB");
212214
}
213215

214-
var logger = new Logger();
215-
if (!SawyerStreamReader.TryGetHeadersFromBytes(datFileBytes, out var hdrs, logger))
216+
var ssrLogger = new Logger();
217+
if (!SawyerStreamReader.TryGetHeadersFromBytes(datFileBytes, out var hdrs, ssrLogger))
216218
{
217219
return Results.BadRequest("Provided data had invalid dat file headers");
218220
}

0 commit comments

Comments
 (0)