Skip to content

Commit 66b48d5

Browse files
iamcarbonabergs
authored andcommitted
Improve error message when mds3.certinfra.fidoalliance.org is offline
1 parent 671ecd4 commit 66b48d5

File tree

1 file changed

+11
-6
lines changed

1 file changed

+11
-6
lines changed

Src/Fido2/Metadata/ConformanceMetadataRepository.cs

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,12 @@ public async Task<MetadataBLOBPayload> GetBLOBAsync(CancellationToken cancellati
5959
};
6060

6161
using var response = await _httpClient.PostAsync(_getEndpointsUrl, content, cancellationToken);
62+
63+
if (!response.IsSuccessStatusCode)
64+
{
65+
throw new Exception($"{_getEndpointsUrl} returned {response.StatusCode} error");
66+
}
67+
6268
await using var responseStream = await response.Content.ReadAsStreamAsync(cancellationToken);
6369
MDSGetEndpointResponse? result = await JsonSerializer.DeserializeAsync(responseStream, FidoSerializerContext.Default.MDSGetEndpointResponse, cancellationToken: cancellationToken);
6470
var conformanceEndpoints = result!.Result;
@@ -71,7 +77,7 @@ public async Task<MetadataBLOBPayload> GetBLOBAsync(CancellationToken cancellati
7177

7278
var entries = new List<MetadataBLOBPayloadEntry>();
7379

74-
foreach(var blobUrl in conformanceEndpoints)
80+
foreach (var blobUrl in conformanceEndpoints)
7581
{
7682
var rawBlob = await DownloadStringAsync(blobUrl, cancellationToken);
7783

@@ -86,15 +92,14 @@ public async Task<MetadataBLOBPayload> GetBLOBAsync(CancellationToken cancellati
8692
continue;
8793
}
8894

89-
if(string.Compare(blob.NextUpdate, combinedBlob.NextUpdate, StringComparison.InvariantCulture) < 0)
95+
if (string.Compare(blob.NextUpdate, combinedBlob.NextUpdate, StringComparison.InvariantCulture) < 0)
9096
combinedBlob.NextUpdate = blob.NextUpdate;
97+
9198
if (combinedBlob.Number < blob.Number)
9299
combinedBlob.Number = blob.Number;
93100

94-
foreach (var entry in blob.Entries)
95-
{
96-
entries.Add(entry);
97-
}
101+
entries.AddRange(blob.Entries);
102+
98103
combinedBlob.JwtAlg = blob.JwtAlg;
99104
}
100105

0 commit comments

Comments
 (0)