@@ -59,6 +59,12 @@ public async Task<MetadataBLOBPayload> GetBLOBAsync(CancellationToken cancellati
59
59
} ;
60
60
61
61
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
+
62
68
await using var responseStream = await response . Content . ReadAsStreamAsync ( cancellationToken ) ;
63
69
MDSGetEndpointResponse ? result = await JsonSerializer . DeserializeAsync ( responseStream , FidoSerializerContext . Default . MDSGetEndpointResponse , cancellationToken : cancellationToken ) ;
64
70
var conformanceEndpoints = result ! . Result ;
@@ -71,7 +77,7 @@ public async Task<MetadataBLOBPayload> GetBLOBAsync(CancellationToken cancellati
71
77
72
78
var entries = new List < MetadataBLOBPayloadEntry > ( ) ;
73
79
74
- foreach ( var blobUrl in conformanceEndpoints )
80
+ foreach ( var blobUrl in conformanceEndpoints )
75
81
{
76
82
var rawBlob = await DownloadStringAsync ( blobUrl , cancellationToken ) ;
77
83
@@ -86,15 +92,14 @@ public async Task<MetadataBLOBPayload> GetBLOBAsync(CancellationToken cancellati
86
92
continue ;
87
93
}
88
94
89
- if ( string . Compare ( blob . NextUpdate , combinedBlob . NextUpdate , StringComparison . InvariantCulture ) < 0 )
95
+ if ( string . Compare ( blob . NextUpdate , combinedBlob . NextUpdate , StringComparison . InvariantCulture ) < 0 )
90
96
combinedBlob . NextUpdate = blob . NextUpdate ;
97
+
91
98
if ( combinedBlob . Number < blob . Number )
92
99
combinedBlob . Number = blob . Number ;
93
100
94
- foreach ( var entry in blob . Entries )
95
- {
96
- entries . Add ( entry ) ;
97
- }
101
+ entries . AddRange ( blob . Entries ) ;
102
+
98
103
combinedBlob . JwtAlg = blob . JwtAlg ;
99
104
}
100
105
0 commit comments