@@ -21,22 +21,32 @@ public static async Task GetAvailableAndFreshSpaces(HttpClient httpClient)
2121 var maxGets = 30 ;
2222 for ( var curGets = 0 ; curGets < maxGets ; ++ curGets )
2323 {
24- var spaces = await GetManagementItemsAsync < Models . Space > ( httpClient , "spaces" , "includes=values" ) ;
25- var availableAndFreshSpaces = spaces . Where ( s => s . Values != null && s . Values . Any ( v => v . Type == "AvailableAndFresh" ) ) ;
26- if ( ! availableAndFreshSpaces . Any ( ) )
24+ var ( spaces , response ) = await GetManagementItemsAsync < Models . Space > ( httpClient , "spaces" , "includes=values" ) ;
25+ if ( spaces == null )
2726 {
28- Console . WriteLine ( "ERROR: Unable to find a space with value type 'AvailableAndFresh'" ) ;
27+ var content = await response . Content ? . ReadAsStringAsync ( ) ;
28+ Console . WriteLine ( $ "ERROR: GET spaces?includes=values failed with: { ( int ) response . StatusCode } , { response . StatusCode } { content } ") ;
2929 break ;
3030 }
31- var availableAndFreshDisplay = availableAndFreshSpaces
32- . Select ( s => GetDisplayValues ( s ) )
33- . Aggregate ( ( acc , cur ) => acc + "\n " + cur ) ;
34- Console . WriteLine ( $ "{ availableAndFreshDisplay } ") ;
31+
32+ var availableAndFreshSpaces = spaces . Where ( s => s . Values != null && s . Values . Any ( v => v . Type == "AvailableAndFresh" ) ) ;
33+ if ( availableAndFreshSpaces . Any ( ) )
34+ {
35+ var availableAndFreshDisplay = availableAndFreshSpaces
36+ . Select ( s => GetDisplayValues ( s ) )
37+ . Aggregate ( ( acc , cur ) => acc + "\n " + cur ) ;
38+ Console . WriteLine ( $ "{ availableAndFreshDisplay } ") ;
39+ }
40+ else
41+ {
42+ Console . WriteLine ( "Unable to find a space with value type 'AvailableAndFresh'" ) ;
43+ }
44+
3545 await Task . Delay ( TimeSpan . FromSeconds ( 4 ) ) ;
3646 }
3747 }
3848
39- private static async Task < IEnumerable < T > > GetManagementItemsAsync < T > (
49+ private static async Task < ( IEnumerable < T > , HttpResponseMessage ) > GetManagementItemsAsync < T > (
4050 HttpClient httpClient ,
4151 string queryItem ,
4252 string queryParams )
@@ -46,10 +56,10 @@ private static async Task<IEnumerable<T>> GetManagementItemsAsync<T>(
4656 {
4757 var content = await response . Content . ReadAsStringAsync ( ) ;
4858 var objects = JsonConvert . DeserializeObject < IEnumerable < T > > ( content ) ;
49- return objects ;
59+ return ( objects , response ) ;
5060 }
5161
52- return null ;
62+ return ( null , response ) ;
5363 }
5464
5565 private static string GetDisplayValues ( Models . Space space )
0 commit comments