diff --git a/lib/extensions/io_http_client.dart b/lib/extensions/io_http_client.dart index 76aaaaa..02fd755 100644 --- a/lib/extensions/io_http_client.dart +++ b/lib/extensions/io_http_client.dart @@ -9,9 +9,9 @@ extension HttpClientResponseExtension on HttpClientResponse { bool get ok => statusCode < _badRequestStatusCode; Future get bodyBytes async { - if (contentLength case final length when length != -1) { - final bytes = Uint8List(length); + if (contentLength case final length when !length.isNegative) { int index = 0; + final bytes = Uint8List(length); await for (final e in this) { bytes.setAll(index, e); index += e.length; diff --git a/lib/extensions/list.dart b/lib/extensions/list.dart index 7c81385..c23dac0 100644 --- a/lib/extensions/list.dart +++ b/lib/extensions/list.dart @@ -3,27 +3,27 @@ import "dart:async"; import "package:discloud/cli/disposable.dart"; extension ListDisposableExtension on List { - Future dispose() async { - final futures = []; + Future dispose() { + final futures = >[]; removeWhere((item) { if (item.dispose() case final Future future) futures.add(future); return true; }); - await futures.wait; + return futures.wait; } } extension ListStreamSubscriptionExtension on List> { - Future cancel() async { - final futures = []; + Future cancel() { + final futures = >[]; removeWhere((item) { futures.add(item.cancel()); return true; }); - await futures.wait; + return futures.wait; } }