diff --git a/app/lib/backend/http/http_pool_manager.dart b/app/lib/backend/http/http_pool_manager.dart index ee65b25a16..9d4f1987c2 100644 --- a/app/lib/backend/http/http_pool_manager.dart +++ b/app/lib/backend/http/http_pool_manager.dart @@ -1,6 +1,7 @@ import 'dart:async'; import 'dart:io'; import 'package:http/http.dart' as http; +import 'package:flutter/foundation.dart'; import 'package:http/io_client.dart'; import 'package:pool/pool.dart'; @@ -70,11 +71,12 @@ class HttpPoolManager { lastError = TimeoutException('Request timeout'); } on SocketException catch (e) { lastError = e; + } on HandshakeException catch (e) { + lastError = e; } on http.ClientException catch (e) { lastError = e; } catch (e) { lastError = e; - rethrow; } if (i < retries) { @@ -83,7 +85,10 @@ class HttpPoolManager { } if (lastResponse != null) return lastResponse; - throw lastError ?? Exception('Request failed with unknown error'); + if(lastError != null) { + debugPrint('HTTP retry failed: $lastError'); + } + return http.Response('', 503); } Future sendStreaming(http.BaseRequest request) {