From 23cf2e183476e5b1fa24e5a299e3ebe1d5b936ff Mon Sep 17 00:00:00 2001 From: Gorniaky Date: Sun, 3 May 2026 01:54:17 -0300 Subject: [PATCH] fix: correct contentLength check and improve dispose method in extensions --- lib/extensions/io_http_client.dart | 4 ++-- lib/extensions/list.dart | 12 ++++++------ 2 files changed, 8 insertions(+), 8 deletions(-) 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; } }