@@ -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