@@ -15,26 +15,19 @@ final _logger = Logger('tool.sdk_version');
1515Future <CachedSdkVersion ?> fetchLatestDartSdkVersion ({
1616 required String channel,
1717}) async {
18- for (var i = 0 ; i < 3 ; i++ ) {
19- final client = httpRetryClient ();
20- try {
21- final rs = await client.get (Uri .parse (
22- 'https://storage.googleapis.com/dart-archive/channels/$channel /release/latest/VERSION' ));
23- if (rs.statusCode != 200 ) {
24- _logger.warning (
25- 'Unable to fetch the Dart SDK version, status code: ${rs .statusCode }' );
26- continue ;
27- }
28- final map = json.decode (rs.body) as Map <String , dynamic >;
29- final version = map['version' ] as String ;
30- final date = DateTime .parse (map['date' ] as String );
31- return CachedSdkVersion (version, date);
32- } catch (e, st) {
33- _logger.warning ('Unable to fetch the Dart SDK version' , e, st);
34- continue ;
35- } finally {
36- client.close ();
37- }
18+ try {
19+ return await httpGetWithRetry (
20+ Uri .parse (
21+ 'https://storage.googleapis.com/dart-archive/channels/$channel /release/latest/VERSION' ),
22+ responseFn: (rs) {
23+ final map = json.decode (rs.body) as Map <String , dynamic >;
24+ final version = map['version' ] as String ;
25+ final date = DateTime .parse (map['date' ] as String );
26+ return CachedSdkVersion (version, date);
27+ },
28+ );
29+ } catch (e, st) {
30+ _logger.warning ('Unable to fetch the Dart SDK version' , e, st);
3831 }
3932 return null ;
4033}
0 commit comments