From 5ddb661ab0db2bf6570139e64ebe5463c08a1c41 Mon Sep 17 00:00:00 2001 From: Minsu Lee Date: Mon, 7 Mar 2022 12:22:23 +0900 Subject: [PATCH] fix: abort request when timeout occurs --- dio/lib/src/adapters/io_adapter.dart | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/dio/lib/src/adapters/io_adapter.dart b/dio/lib/src/adapters/io_adapter.dart index 862267f2e..1f53972a7 100644 --- a/dio/lib/src/adapters/io_adapter.dart +++ b/dio/lib/src/adapters/io_adapter.dart @@ -61,6 +61,7 @@ class DefaultHttpClientAdapter implements HttpClientAdapter { } rethrow; } on TimeoutException { + request.abort(); _throwConnectingTimeout(); } @@ -76,6 +77,7 @@ class DefaultHttpClientAdapter implements HttpClientAdapter { try { await future; } on TimeoutException { + request.abort(); throw DioError( requestOptions: options, error: 'Sending timeout[${options.sendTimeout}ms]', @@ -116,7 +118,7 @@ class DefaultHttpClientAdapter implements HttpClientAdapter { ), ); //todo: to verify - responseStream.detachSocket().then((socket) => socket.close()); + responseStream.detachSocket().then((socket) => socket.destroy()); } else { sink.add(Uint8List.fromList(data)); }